Как в моих классах Java, так и в книгах, которые мы использовали в них, выкладываем графический интерфейс с кодом, в котором задействован конструктор JFrame. Стандартный метод в книгах, похоже, состоит в том, чтобы инициализировать все компоненты и добавить их в JFrame в конструкторе и добавить анонимные обработчики событий для обработки событий там, где это необходимо, и это то, что было высказано в моем классе.Лучшая практика с конструкторами JFrame?
Это, кажется, довольно легко понять и легко работать при создании очень простого графического интерфейса, но, похоже, быстро становится уродливым и громоздким при создании чего-либо другого, кроме простого простого gui. Вот небольшой пример кода, что я описываю:
public class FooFrame extends JFrame {
JLabel inputLabel;
JTextField inputField;
JButton fooBtn;
JPanel fooPanel;
public FooFrame() {
super("Foo");
fooPanel = new JPanel();
fooPanel.setLayout(new FlowLayout());
inputLabel = new JLabel("Input stuff");
fooPanel.add(inputLabel);
inputField = new JTextField(20);
fooPanel.add(inputField);
fooBtn = new JButton("Do Foo");
fooBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//handle event
}
});
fooPanel.add(fooBtn);
add(fooPanel, BorderLayout.CENTER);
}
}
Является ли этот тип использования конструктора лучший способ кодирования приложения Свинг в Java? Если да, то какие методы я могу использовать, чтобы убедиться, что этот тип конструктора организован и поддерживается? Если нет, то какой рекомендуемый способ приблизиться к созданию JFrame в java?
Итак, вы говорите, что не нужно излишне расширять JFrame, как я делал выше, но в отдельном классе создайте новый JFrame и добавьте в него компоненты? Это похоже на довольно разумный способ действий. Знаете ли вы о каких-либо хороших ссылках, чтобы узнать, как структурировать код swing gui? Спасибо за ввод. –