我正在尝试调整另一个具有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,cablelPanel,accessoriesPanel,repairPanel)的大小。
我试过了:
computerPanel.setPrefferedSize()
但这不起作用......
答案 0 :(得分:2)
如果您希望能够调整每个JPanel的大小,则不使用相应的LayoutManager。 GridLayout(您现在正在使用)特别不允许进行此类调整,而是将每个单元格固定为完全相同的大小。
考虑使用不同的LayoutManager,例如BoxLayout或GridBagLayout。
请参阅here以确定哪种LayoutManager最适合您的需要。