在我的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