[英]how to create a JPanel to fill all of its parent's width?
我想在JFrame
的ContentPane
创建一个JPanel
并且我的JPanel
填充所有contentPane
的宽度。
我将BoxLayout
用于contentPane
的布局。 这是我的代码:
getContentPane().setLayout(new BoxLayout(), BoxLayout.PAGE_AXIS);
JPanel row = new JPanel();
row.setLayout(new BoxLayout(row, BoxLayout.LINE_AXIS));
getContentPane().add(row);
您需要设置面板的最小/首选/最大尺寸,否则BoxLayout
将不知道如何为面板分配适当的尺寸。 请参阅本教程 。
这是您可以使用的代码示例。 如果更改各种尺寸,或注释setMinimumSize ()
和setPreferredSize ()
方法调用,则将看到对面板绘制方式的影响。 我将row
面板的背景设置为红色,以便在测试期间可以轻松看到该面板。
JFrame frame = new JFrame ("Test");
frame.setSize (new Dimension (500, 500));
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
Container contentPane = frame.getContentPane ();
contentPane.setLayout (new BoxLayout (contentPane, BoxLayout.PAGE_AXIS));
JPanel row = new JPanel();
row.setBackground (Color.RED);
row.setLayout(new BoxLayout(row, BoxLayout.LINE_AXIS));
row.setMinimumSize (new Dimension (100, 100));
row.setPreferredSize (new Dimension (250, 200));
row.setMaximumSize (new Dimension (500, 300));
contentPane.add(row);
frame.setVisible (true);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.