对齐JButtons

我不知道为什么我无法在下面的代码中调整按钮的位置。 我有几条线设置边界,但我必须遗漏一些东西。

public DayGUI() { mainFrame = new JFrame("What Kind Of Day Are You Having?"); btnGood = new JButton("Good"); btnBad = new JButton("Bad"); btnGood.setBounds(10, 10, 80, 20); btnBad.setBounds(10, 30, 80, 20); Container c = mainFrame.getContentPane(); c.setLayout(new FlowLayout()); c.add(btnGood); c.add(btnBad); 

您可以使用GridLayoutGridBagLayoutSpringLayoutGroupLayout等对齐按钮。

这是 GridBagLayout 的教程 。 这是 GridLayout 上的一个 。 这是 GroupLayout上的一个。

这是布局管理器的概述 。 布局管理器允许您在容器中定义与容器相关的组件。 他们每个人都有自己的优点和缺点。

根据您的需要,我会考虑GridBagLayout。

您应该使用布局管理器: http : //download.oracle.com/javase/tutorial/uiswing/layout/using.html

您使用FlowLayout作为布局管理器。 此布局管理器不会调整组件大小以适应所有相同的大小。 您应该使用setPreferredSize而不是setBounds

FlowLayout在布局时假定组件的“首选尺寸”。 正确设置它应该工作。

布局管理器完成其工作后,将忽略setBound调用。