Добавление JPanel из другого класса

154
26 ноября 2018, 08:10

хочу добавить на JPanel кнопки, а потом отобразить все это через главный класс, подскажите, как правильно оформить.

package com.company;
import res.Source;
import javax.swing.*;
import java.awt.*;
public class Main extends JFrame { //главный класс в который хочу вставить JPanel
    public Main(){
        Dimension sSize = Toolkit.getDefaultToolkit().getScreenSize();
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setTitle("Tic Tac Toe");
        setSize(800, 400);
        setLocation(sSize.width/2 - 400, sSize.height/2 - 200);
        setResizable(false);
        add(new Source());
        setVisible(true);
    }
    public static void main(String[] args) {
        Main m = new Main();
    }
}

package res;
import javax.swing.*;
import java.awt.*;
public class Source extends JPanel { //класс откуда хочу вставить JPanel
    private JPanel panel;
    private char x1, x2, x3, y1, y2, y3, z1, z2, z3;
    public Source(){
        setBackground(Color.gray);
        field();
    }
    public void field(){
        panel = new JPanel();
        panel.setBackground(Color.cyan);
        panel.setBounds(10,10, 720,720);
        panel.add(new JButton("sdf"));
    }
}

Заранее благодарю!

Answer 1

либо в метод field добавить:

public void field(){
    panel = new JPanel();
    panel.setBackground(Color.cyan);
    panel.setBounds(10,10, 720,720);
    panel.add(new JButton("sdf"));
    add(panel);
}

Либо это всё счастье добавить в сам конструктор Source панели:

public Source(){
    setBackground(Color.gray);
    setBounds(10,10, 720,720);
    add(new JButton("sdf"));
}
READ ALSO
Проверка на столкновение сложных фигур (Android)

Проверка на столкновение сложных фигур (Android)

К примеру, есть изображение 2D-объекта:

166
Создание динамичной страницы в Spring

Создание динамичной страницы в Spring

Когда пытаюсь зайти на главную страницу, спринг отдаёт

144
Авторизация с помощью google и запись пользователя в fireBase DataBase

Авторизация с помощью google и запись пользователя в fireBase DataBase

Коллеги, такая проблемаАвторизую пользователей с помощью google sign in

171
Размер картинки и libgdx

Размер картинки и libgdx

Есть картинка (help_15jpg), размер соответствует разрешению экрана,(если взять картинку большего размера, то она так и выглядит большой съезжая...

137