我有一个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;
}
这就是它的样子:
有没有办法可以调整前两个框的大小?
答案 0 :(得分:3)
不要使用GridLayout进行整体布局,因为它唯一知道的事情是创建大小完全相同的单元格。由于您不想要这个,您的GUI将需要不同的布局。而是使用GridBagLayout,否则你可以使用具有不同布局的嵌套JPanels,但我认为整体布局的GridBagLayout可能是你最好的选择。如果您愿意使用第三方库,其他注意事项包括MigLayout。
答案 1 :(得分:0)
我发现将表格放在自己的面板和标题边框中会更容易: