我正在使用JFreeChart库。饼图只是应用程序的一小部分,我希望能够调用饼图,将其关闭,然后继续使用该应用程序。但是,现在无论我选择哪个WindowConstants.X_ON_CLOSE选项,它都会关闭整个过程。
public PieChart(final List<Window> windows) {
super("Kronos - Window Data");
final JFreeChart chart = PieChart.createChart(windows);
SwingUtilities.invokeLater(() -> {
final Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
final int width = (int) screenSize.getWidth();
final int height = (int) screenSize.getHeight();
this.setSize(width, height);
this.setLocationRelativeTo(null);
super.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
// this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
this.setVisible(true);
});
final ChartPanel panel = new ChartPanel(chart);
this.setContentPane(panel);
}
答案 0 :(得分:1)
找到了一个解决方案,如果我将类扩展了JFrame
而不是ApplicationFrame
,则效果很好。另外,WindowConstants.DO_NOTHING_ON_CLOSE
是不正确的,需要WindowConstants.HIDE_ON_CLOSE
隐藏窗口而不停止应用程序。
希望这对其他人有帮助!