对于我正在开发的应用程序,我使用UnfoldingMaps库来显示地图。地图被放置在一个JPanel中。在相同的JPanel中显示了其他JPanel。所以我用按钮在地图和其他面板之间切换。
问题是地图没有刷新。我可以显示它一次,当我已经显示了另一个面板,并返回到地图,地图将不会显示。那时我得到的唯一选择是重新启动应用程序。
private void showVis(String chart) {
//visual is the JPanel where elements are viewed in
visual.removeAll();
if (chart.equals("bar")) {
bar.setPart("", partial, location);
bar.createVisualisation(ai);
if (bar.checkGraph()) {
System.out.println("Really creating bar");
ChartPanel panB = bar.getPanel();
JPopupMenu popB = panB.getPopupMenu();
panB.setPopupMenu(popB);
visual.add(panB);
visual.validate();
}
} else if (chart.equals("map")) {
map = null;
map = new Maps();
map.setPart("", partial, location);
map.createVisualisation(ai);
if (map.checkGraph()) {
map.init();
visual.add(map);
visual.validate();
}
}字符串图表决定将显示哪个面板。
发布于 2014-08-04 11:39:26
在相同的JPanel中显示了其他JPanel。所以我用按钮在地图和其他面板之间切换。
parentPanel.revalidate();,然后是parentPanel.repaint();JComponent。https://stackoverflow.com/questions/25117728
复制相似问题