Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java-GridLayout调整JPanel的大小_Java_User Interface - Fatal编程技术网

Java-GridLayout调整JPanel的大小

Java-GridLayout调整JPanel的大小,java,user-interface,Java,User Interface,我试图在另一个具有GridLayout的JPanel中调整每个JPanel的高度 这就是我到目前为止所做的: JPanel store = new JPanel(); store.setLayout(new GridLayout(4, 0)); JPanel computerPanel = new JPanel(); computerPanel.setBorder(BorderFactory.createTitledBorder("Computers")); computerPanel.set

我试图在另一个具有GridLayout的JPanel中调整每个JPanel的高度

这就是我到目前为止所做的:

JPanel store = new JPanel();
store.setLayout(new GridLayout(4, 0));

JPanel computerPanel = new JPanel();
computerPanel.setBorder(BorderFactory.createTitledBorder("Computers"));
computerPanel.setPreferredSize(new Dimension(20, 30));

JPanel cablesPanel = new JPanel();
cablesPanel.setBorder(BorderFactory.createTitledBorder("Cables"));

JPanel accessoriesPanel = new JPanel();
accessoriesPanel.setBorder(BorderFactory.createTitledBorder("Accessories"));

JPanel repairPanel = new JPanel();
repairPanel.setBorder(BorderFactory.createTitledBorder("Repair"));

store.add(computerPanel);
store.add(cablesPanel);
store.add(accessoriesPanel);
store.add(repairPanel);

JPanel view = new JPanel();
view.setLayout(new BorderLayout());
view.add(store, BorderLayout.CENTER);

add(view);
这是GUI输出的内容:

我想调整JPanel商店内每个JPanel(计算机面板、电缆面板、附件面板、维修面板)的大小

我试过:


computerPanel.setPreferedSize()
但这不起作用…

如果您希望能够调整每个JPanel的大小,您没有使用适当的LayoutManager。GridLayout(您现在使用的)特别不允许这样调整大小,而是将每个单元格固定为完全相同的大小

考虑使用不同的LayoutManager,例如BoxLayout或GridBagLayout


查看以确定哪个LayoutManager最适合您的需要。

它必须是
网格布局吗
GridLayout
强制所有内容大小相同,这不是您想要的。
FlowLayout
是否适合您?