我们如何在北方和中央水平的框架上创建一个按钮? (即不占据所有宽度)?
答案 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中包装按钮时,它会保存宽度,中心布局将其放在中心