默认关闭操作什么都不做

时间:2018-08-23 19:13:40

标签: java jfreechart

我正在使用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);
}

1 个答案:

答案 0 :(得分:1)

找到了一个解决方案,如果我将类扩展了JFrame而不是ApplicationFrame,则效果很好。另外,WindowConstants.DO_NOTHING_ON_CLOSE是不正确的,需要WindowConstants.HIDE_ON_CLOSE隐藏窗口而不停止应用程序。

希望这对其他人有帮助!