1

经过大量搜索,我希望这会给我一个答案。

好的,我有一个 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);
}
4

0 回答 0