经过大量搜索,我希望这会给我一个答案。
好的,我有一个 JFrame,它的顶部有一个 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);
}