Я практиковал свой код с помощью Java Swing и неплохо научился контролировать, где размещать некоторые элементы, такие как метки и/или кнопки, но мне интересно, можете ли вы сделать то же самое с классами? У меня есть просто простой класс с достаточным количеством кода, чтобы поместить в него кнопку, и все, что я пытаюсь создать экземпляр класса, а затем контролировать его, чтобы поместить на левую и правую сторону, но когда я это делаю, все, что он делает это создать два отдельных окна с кнопкой посередине и все. Я что-то не так делаю, или нельзя так же делать занятия?
Код:
import java.awt.Color;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class Fun extends JFrame
{
private final int WIDTH = 500;
private final int HEIGHT = 400;
public Fun()
{
setTitle("Fun Management");
setSize(WIDTH, HEIGHT);
BuildPanel west = new BuildPanel(); /// BuildPanel is the name of the class that has just a button in it.
BuildPanel east = new BuildPanel(); ///
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
add(west, BorderLayout.WEST); /// I am doing the same thing with the instances as I would with buttons or labesl
add(east, BorderLayout.EAST);
setVisible(true);
}
public static void main(String[] args)
{
new Fun();
}
}
Этот метод
add()
принимает типComponent
, поэтому, еслиBuildPanel
наследуется от компонента, вы можете сделать это. Однако обычно GUI отделяется от классов "программной логики", поэтому будьте осторожны при расширении классов GUI, подобных этому. Для разделения вещей см. «MVC» en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controllerМожно ли поделиться кодом
BuildPanel
?