在我的两个
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的方法是什么?