Закрытие окна качания jfreechart, закрытие всего приложения

Я интегрировал эту демо-панель Jfreechart со своим приложением Swing. Я поместил следующий код в метод действия кнопки, этот код ранее был в основном методе класса Bar Demo.

final BarChart3DDemo3 demo = new BarChart3DDemo3("3D Bar Chart Demo 3");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);

Это генерирует гистограмму. Но при закрытии окна гистограммы. Все мое приложение закрывается.

Я пытался вставить demo.getDefaultCloseOperation(ApplicationFrame.DISPOSE_ON_CLOSE);, но это не работает. Хотя ошибки не выдает.

Я также пытался вставить это в конструктор BarChart3DDemo3, но выдающий ошибку метод getDefaultCloseOperation() не принимает аргумент int.

Я понятия не имею, что делать дальше? Пожалуйста помоги. Спасибо.


person JavaBits    schedule 21.06.2011    source источник
comment
Также не повезло с HIDE_ON_CLOSE..   -  person JavaBits    schedule 22.06.2011
comment
Вы имеете в виду setDefaultCloseOperation(...DISPOSE...), верно?   -  person maerics    schedule 22.06.2011
comment
DISPOSE_ON_CLOSE и HIDE_ON_CLOSE отлично работают с JFrame, который не отвечает на ApplicationFrame.   -  person JavaBits    schedule 23.06.2011


Ответы (2)


Обратите внимание, что ApplicationFrame "отслеживает события закрытия окна, и в ответ отключает JVM». Он предназначен для демонстрационных приложений. Вместо этого поместите ChartPanel в JFrame, как показано здесь.

person trashgod    schedule 21.06.2011
comment
Я удалил ApplicationFrame и заменил его на JFrame, и он отлично работает. - person JavaBits; 23.06.2011

Вместо

открытый класс LineChart_AWT расширяет ApplicationFrame,

открытый класс LineChart_AWT расширяет JFrame, работает нормально.

person Okan Pulukcu    schedule 19.04.2016