有人帮我处理我的代码,不知道为什么它不起作用 - JAVA GUI
Somebody help me with my code, NO IDEA why it doesn't work - JAVA GUI
嗯。我已经导入了所有内容,这部分是正确的。我无法得到的东西,我希望 JPanel p2 向南,但它不会向南移动。在 ECLIPSE 上工作,它没有显示任何错误。除了它不按我想要的方式工作。请帮忙
public static void main(String[] args) {
JFrame frame = new JFrame("Title");
frame.setLayout(new BorderLayout());
JButton but1 = new JButton("Button 1");
JButton but2 = new JButton("Button 2");
JButton but3 = new JButton("Button 3");
JButton but4 = new JButton("Button 4");
JButton but5 = new JButton("Button 5");
JButton but6 = new JButton("Button 6");
JButton but7 = new JButton("Button 7");
JButton but8 = new JButton("Button 8");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
p1.add(but1);
p1.add(but2);
p1.add(but3);
p1.add(but4);
p2.add(but5);
p2.add(but6);
p2.add(but7);
p2.add(but8);
frame.add(p1,BorderLayout.WEST);
frame.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(640, 480);
frame.setLayout(new FlowLayout());
frame.setResizable(false);
}
}
问题是您将 JFrame 的布局更改为 FlowLayout。因此,您不能再使用 JFrame 的(默认)BorderLayout 并且您的 JPanel 不会向南移动。因此,只需删除该行代码即可。
我看不出将 JFrame 的布局设置为 FlowLayout 有什么意义,因为 JPanel 默认使用 FlowLayout。
嗯。我已经导入了所有内容,这部分是正确的。我无法得到的东西,我希望 JPanel p2 向南,但它不会向南移动。在 ECLIPSE 上工作,它没有显示任何错误。除了它不按我想要的方式工作。请帮忙
public static void main(String[] args) {
JFrame frame = new JFrame("Title");
frame.setLayout(new BorderLayout());
JButton but1 = new JButton("Button 1");
JButton but2 = new JButton("Button 2");
JButton but3 = new JButton("Button 3");
JButton but4 = new JButton("Button 4");
JButton but5 = new JButton("Button 5");
JButton but6 = new JButton("Button 6");
JButton but7 = new JButton("Button 7");
JButton but8 = new JButton("Button 8");
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
p1.add(but1);
p1.add(but2);
p1.add(but3);
p1.add(but4);
p2.add(but5);
p2.add(but6);
p2.add(but7);
p2.add(but8);
frame.add(p1,BorderLayout.WEST);
frame.add(p2,BorderLayout.SOUTH);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(640, 480);
frame.setLayout(new FlowLayout());
frame.setResizable(false);
}
}
问题是您将 JFrame 的布局更改为 FlowLayout。因此,您不能再使用 JFrame 的(默认)BorderLayout 并且您的 JPanel 不会向南移动。因此,只需删除该行代码即可。
我看不出将 JFrame 的布局设置为 FlowLayout 有什么意义,因为 JPanel 默认使用 FlowLayout。