Jat*_*tin 1 java swing jpanel jframe border-layout
在我的应用程序中,有4个面板.我需要将它们插入主面板,使用BorderLayout.4个面板是......
这是我的代码......
add(imageLabel, BorderLayout.NORTH);
add(buttonPanel,BorderLayout.PAGE_START);
add(logScrollPane, BorderLayout.CENTER);
add(about, BorderLayout.PAGE_END);
Run Code Online (Sandbox Code Playgroud)
当我这样做时,buttonPanel消失了.我怎样才能达到我的需要?
我通常会尝试最多保留3个组件BorderLayout,所以我会这样做......
JPanel outerPanel = new JPanel(new BorderLayout());
JPanel innerPanel= new JPanel(new BorderLayout());
innerPanel.add(buttonPanel,BorderLayout.NORTH);
innerPanel.add(logScrollPane, BorderLayout.CENTER);
innerPanel.add(about, BorderLayout.SOUTH);
outerPanel.add(imageLabel, BorderLayout.NORTH);
outerPanel.add(innerPanel,BorderLayout.CENTER);
Run Code Online (Sandbox Code Playgroud)
只要你保留"最大拉伸"组件CENTER(在这种情况下,你的logScrollPane),它就会一直有效.如果您想使用面板,例如将其设置为a JFrame,请使用add(outerPanel).
不要害怕BorderLayout- 这种布局能够自动扩展CENTER组件以填充可用空间,使其成为非常强大且非常重要的LayoutManager!