调整GridLayout区域的大小

时间:2014-10-15 19:20:02

标签: java swing layout-manager grid-layout

我有一个4x4网格布局,我试图在我创建的表格上方添加2个标题栏。我正在为标题栏创建面板,但由于gridlayout它填满了所有空间。这是代码:

private WebScrollPane createPosRiskPanelWindow(int w, int h) 
{
    //Content area
    posRiskPanel = new WebPanel((new GridLayout(2,2)));
    posRiskPanel.setBackground(Color.WHITE);

    //Add title bars
    WebPanel posTitle = new WebPanel(new WebLabel("Current Positions"));
    posRiskPanel.add(posTitle);

    WebPanel riskTitle = new WebPanel(new WebLabel("Risk Exposure"));
    posRiskPanel.add(riskTitle);

    //Panels
    CreatePositionPanel(posRiskPanel);
    CreateRiskParamsPanel(posRiskPanel);

    //Scroll content
    posRiskScroll = new WebScrollPane (posRiskPanel, false);
    posRiskScroll.setPreferredSize (new Dimension (w, h));

    return posRiskScroll;
}

这就是它的样子:

enter image description here 有没有办法可以调整前两个框的大小?

2 个答案:

答案 0 :(得分:3)

不要使用GridLayout进行整体布局,因为它唯一知道的事情是创建大小完全相同的单元格。由于您不想要这个,您的GUI将需要不同的布局。而是使用GridBagLayout,否则你可以使用具有不同布局的嵌套JPanels,但我认为整体布局的GridBagLayout可能是你最好的选择。如果您愿意使用第三方库,其他注意事项包括MigLayout。

答案 1 :(得分:0)

我发现将表格放在自己的面板和标题边框中会更容易:

enter image description here