【发布时间】:2013-01-10 19:12:35
【问题描述】:
我创建了一个JScrollPane 并希望根据我从用户那里得到的输入在该JScrollPane 中显示一个不同的JPanel。出于某种原因,我的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();
【问题讨论】:
-
删除
panelView.removeAll(),只使用panelView.setViewportView
标签: java swing jpanel jscrollpane