我创建了一组按钮,我希望它位于应用程序每个页面的顶部。
不必在每个类中重新创建设置,是否可以创建一次并将其包含在每个类中,类似于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);
但它只将第二个对象添加到显示中。
答案 0 :(得分: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);
// ...
}