经过多次搜索,我希望这会给我一个答案。
好的,我有一个JFrame,顶部有一个JPanel,底部有一个JPanel。它还有一个侧面,其中包含一个JScrollPane。顶部和底部面板应保持一致的尺寸,窗口调整大小,但侧面板应垂直更改。不幸的是,当JScrollPane有太多项目时,根本没有显示滚动条。而是整个窗口被放大,推动底部面板和JScrollPane屏幕外的所有多余部分。
我一直在使用MigLayout,但如果我需要为侧面板使用另一种布局,我可以。这是我最近的失败的代码迭代。
这是我添加JScrollPane的地方:
public MenuPanel(){
this.setLayout(new BorderLayout());
innerPanel = new InnerPanel();
jsp = new JScrollPane(innerPanel,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
this.add(jsp, BorderLayout.CENTER);
}
这是在主窗口内:
private void addSideSelectionPane() {
side = new SelectionPanel();
this.add(side, "wmax 200, growy");
}
这是我创建主窗口的代码:
public InsWindow(){
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setExtendedState( this.getExtendedState()| java.awt.Frame.MAXIMIZED_BOTH );
this.setLayout(new MigLayout("debug, nogrid, fill", "[grow, fill]", "[pref!]10[grow, fill]"));
this.addTestLabel();
this.addSideSelectionPane();
this.addMainWindow();
this.addBottomPanel();
this.setVisible(true);
}