JButtons对齐问题

时间:2010-11-27 09:25:19

标签: java swing vertical-alignment jbutton

这可能是一个非常愚蠢的问题,发布在深夜。我正在尝试创建两个一个放在另一个上面的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);
}

我该怎么办?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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