Java - Размещать JFrame только при закрытии? - PullRequest
2 голосов
/ 13 января 2011

В моей Java-программе мне бы хотелось, чтобы независимо от того, открыты ли другие окна, всякий раз, когда пользователь нажимает красный крестик в углу, просто закрывается поворотная рамка. Я экспериментировал с JFrame.DISPOSE_ON_CLOSE и другими оконными слушателями, но когда я выходил из одного JFrame, система все еще выходила.

Для пояснения, предположим, у меня есть два видимых JFrame, выход из одного автоматически завершает другой, и система завершает работу. Любые идеи относительно того, как закрыть только один JFrame? Спасибо.

Ответы [ 2 ]

7 голосов
/ 13 января 2011

Это работает для меня:

public class Test {

    public static class TestFrame implements Runnable{
        public void run() {
            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            frame.setSize(200, 300);
            frame.setVisible(true);
        }
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new TestFrame());
        EventQueue.invokeLater(new TestFrame());
    }
}
0 голосов
/ 13 января 2011

Finnw был прав - я установил новый WindowListener (хотя он никогда не вызывал System.exit (), если это не происходит по умолчанию), но теперь я могу справиться с ним, двигаясь впередСпасибо всем

...