【问题标题】:Problem with alignment of JButtonsJButtons的对齐问题
【发布时间】:2011-05-16 12:15:56
【问题描述】:

这可能是在深夜发布的一个非常愚蠢的问题。我正在尝试创建两个 JButton,将一个放在另一个之上。但是由于某种原因,它没有正确对齐。底部按钮 b2 的左边缘出现在顶部底部 b1 左边缘的稍微左侧。

代码如下:

class thistrial extends JPanel implements ActionListener
 {
 ...
    public thistrial()
    {
     .....  
    add(new JSeparator(SwingConstants.HORIZONTAL));

    //ADD THE START AND STOP BUTTONS
    Border raisedBorder = BorderFactory.createRaisedBevelBorder();


    b1 = new JButton("START");
    b1.setVerticalTextPosition(AbstractButton.CENTER);
    b1.setHorizontalTextPosition(AbstractButton.CENTER);
    b1.setPreferredSize(new Dimension(220,100));
    add(new JSeparator(SwingConstants.HORIZONTAL));

    b2 = new JButton("STOP");
    b2.setPreferredSize(new Dimension(220,100));
    b2.setVerticalTextPosition(AbstractButton.CENTER);
    b2.setHorizontalTextPosition(AbstractButton.CENTER);
             add(b1);  
    add(b2);  
          .............
}
   }
/** MAIN function **/
 public static void main(String args[])

 {
        //Create and set up the window.
        JFrame frame = new JFrame();
    frame.getContentPane().setBackground(Color.BLACK);
    frame.setSize(398,480); 
    frame.setLocation(300,200);
    frame.setResizable(false);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


    //Create and set up the content pane.
    thistrial newContentPane = new thistrial();
    frame.setContentPane(newContentPane);

    //Display the window.
    frame.setVisible(true);
}

我该怎么办?

【问题讨论】:

  • 你没有给我们正确的代码部分。显然颜色信息是无关紧要的。查看将按钮添加到面板的代码很重要。另外你有setLayout吗?
  • 很抱歉。没有设置布局。我正在使用默认的 LayoutManager。我已经添加了上面的实际代码。
  • 重新格式化的代码;复制编辑;如果不正确,请恢复。
  • “实际代码”不可编译,因此我们仍然无法准确判断您在做什么。如果使用适当布局的建议没有帮助,请发布您的 SSCCE (sscce.org) 来说明问题。
  • 谢谢大家。我通过调整一些控件的大小来让它工作。由于我使框架不可调整大小,因此我不必担心屏幕发生变化时的外观。再次感谢。

标签: java swing vertical-alignment jbutton


【解决方案1】:

您的示例扩展了JPanel,默认情况下使用FlowLayout。相反,您可以尝试GridLayout,如A Visual Guide to Layout Managers 所示。

【讨论】:

    【解决方案2】:

    我建议使用正确的布局管理器。您的代码没有显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2012-11-06
      • 2016-02-10
      • 2011-11-06
      • 1970-01-01
      • 2018-10-28
      相关资源
      最近更新 更多