在我的兩個
Java類和我們在其中使用的書中,使用代碼的GUI大量涉及JFrame的構造函數.書中的标準技術似乎是初始化所有元件并将它們添加到構造函數中的JFrame中,并添加匿名事件處理程式來處理需要的事件,這就是我班級所倡導的内容.
這似乎很容易了解,并且在建立一個非常簡單的GUI時易于使用,但在制作除了非常簡單的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中編寫Swing應用程式的最佳方法嗎?如果是這樣,我可以使用哪些技術來確定這種類型的構造函數是有組織和可維護的?如果沒有,建議在Java中組合JFrame的方法是什麼?