0

我创建了一个JScrollPane并希望在其中显示一个不同JPanel的内容,JScrollPane具体取决于我从用户那里得到的输入。出于某种原因,我JScrollPane仍然是空白的,并且从不绘制Panel.

private JScrollPane panelView;

// Creating my ScrollPane with a blank JPanel
panelView = new JScrollPane(new JPanel());
// Scenario1 is my top level JPanel, also contains a JTree
scenario1.add(panelView, BorderLayout.CENTER);

当我获得更新显示的 JPanel 的操作时,我的代码。我已经通过调试器确认我正确地点击了这段代码。

// Remove previous displayed JPanel within JScrollPane
panelView.removeAll();
if(node.equals(nodes.loginDefaultUser))
    {
        loginDefaultUserPanel = new LoginDefaultUserPanel();    
        panelView.add(loginDefaultUserPanel);
    }
    else if(node.equals(nodes.addUsers))
    {
        addUsersPanel = new AddUsersPanel();
        panelView.add(addUsersPanel);
    }
    else if(node.equals(nodes.getVersions))
    {
        getVersionsPanel = new GetVersionsPanel();
        panelView.add(getVersionsPanel);
    }
    panelView.revalidate();
    panelView.repaint();
4

1 回答 1

2

使用JScrollPane#setViewportView代替add

您可能会发现查看如何使用滚动窗格的使用

于 2013-01-10T19:19:08.217 回答