0

我创建了一组按钮,我希望它们位于应用程序每个页面的顶部。

不必在每个类中重新创建设置,是否可以创建一次并将其包含在每个类中,类似于 Android 中的可重用视图。

我的按钮设置代码如下:

public Buttons() {
        setLayout(null);

        JButton btnNewButton = new JButton("New button");
        btnNewButton.setBounds(10, 11, 89, 23);
        add(btnNewButton);

        JButton btnNewButton_1 = new JButton("New button");
        btnNewButton_1.setBounds(101, 11, 89, 23);
        add(btnNewButton_1);

        JButton btnNewButton_2 = new JButton("New button");
        btnNewButton_2.setBounds(192, 11, 89, 23);
        add(btnNewButton_2);

        textField_2 = new JTextField();
        textField_2.setBounds(104, 42, 86, 20);
        add(textField_2);
        textField_2.setColumns(10);

        System.out.println("HELLO");
    }

我创建类的代码如下:

public static void gui(){
        frame = new JFrame("name");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(true);
        frame.setLayout(new BorderLayout());
        frame.add(new Buttons(), BorderLayout.WEST);
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.setBounds(200, 0, 500, 500);
    }

我尝试在此方法中添加以下行以添加第二组按钮:

frame.add(new Extras(), BorderLayout.CENTER);

但它只会将第二个对象添加到显示中。

4

1 回答 1

0

创建一个类(或方法),该类(或方法)创建一个 JPanel,其中包含您想要的所有按钮。然后,只需将该 JPanel 的一个新实例添加到您的 GUI。伪代码:

public JPanel createButtons() {
  JPanel panel = new JPanel();
  // add buttons to panel
  return panel;
}
public void gui() {
  frame = new JFrame("name");
  frame.setLayout(new BorderLayout());
  frame.add(createButtons(), BorderLayout.WEST);
  // ...
}
于 2014-10-26T11:17:40.310 回答