在我的Java類以及我們在其中使用的書中,都展示了一個包含JFrame構造函數的代碼的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放在一起?
所以你不是說像我上面所做的那樣不必要地擴展JFrame,而是在一個單獨的類中創建一個新的JFrame並向它添加組件?這似乎是一個非常合理的行動方式。你知道有什麼好的參考來諮詢如何構建swing gui代碼嗎?感謝您的意見。 – 2010-04-26 22:03:28