如何分配按钮的位置?

时间:2013-05-08 15:27:44

标签: java swing layout-manager

我们如何在北方和中央水平的框架上创建一个按钮? (即不占据所有宽度)?

2 个答案:

答案 0 :(得分:2)

BorderLayout展开NORTH位置的组件以填充容器的宽度。因此,您需要将其放在另一个容器中,该容器尊重组件的首选大小,在这种情况下为JButton。您可以使用FlowLayout中的默认JPanel

JPanel northPanel = new JPanel(); 
JButton button = new JButton("OK");
frame.add(northPanel, BorderLayout.NORTH);

答案 1 :(得分:1)

尝试这样的解决方案:

public class MyFrame extends JFrame{
    public MyFrame(){
      super();
      JPanel contentPane = new JPanel(new BorderLayout());
      JButton myButton = new JButton("MyButton");
      JPanel myPanel = new JPanel(new FlowLayout.Center));
      myPanel.add(myButton);
      contentPane.add(myPanel,BorderLayout.CENTER); 
      setContentPanel(contentPane);
    }

}

当您在jpanel中包装按钮时,它会保存宽度,中心布局将其放在中心