对齐JButtons

时间:2011-03-21 15:05:24

标签: java user-interface swing layout

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

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);  

4 个答案:

答案 0 :(得分:4)

您可以使用GridLayoutGridBagLayoutSpringLayoutGroupLayout和其他人对齐按钮。

GridBagLayout上的

This is a tutorial。 GridLayout上的Here is one。 GroupLayout上的Here is one

布局管理器上的

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

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

答案 1 :(得分:2)

答案 2 :(得分:1)

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

答案 3 :(得分:0)

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

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