我们如何在框架上创建一个位于北方和水平中心的按钮?(即不占据所有宽度)?
问问题
119 次
2 回答
2
BorderLayout
扩展该NORTH
位置的组件以填充容器的宽度。因此,您需要将它放在另一个容器中,该容器尊重组件的首选大小,JButton
在这种情况下。您可以使用默认FlowLayout
值JPanel
:
JPanel northPanel = new JPanel();
JButton button = new JButton("OK");
frame.add(northPanel, BorderLayout.NORTH);
于 2013-05-08T15:39:13.097 回答
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 中包装按钮时,它会保存它的宽度,并且中心布局将它放在中心
于 2013-05-08T15:41:49.457 回答