Правда ли, что значением по умолчанию JFrame.setDefaultCloseOperation () является HIDE_ON_CLOSE? - PullRequest
0 голосов
/ 14 марта 2020

Я знаю, что в документе сказано, что JFrame.setDefaultCloseOperation(int) - это HIDE_ON_CLOSE. Но когда я нажимаю X в окне текущего кадра, он не только скрывает текущий кадр, но и завершает работающую программу. Кто-нибудь может объяснить?

Редактировать: Закрывающий кадр - не последний оставшийся кадр.

1 Ответ

2 голосов
/ 14 марта 2020

Правда ли, что JFrame.setDefaultCloseOperation() значение по умолчанию равно HIDE_ON_CLOSE?

Запустить этот метод для фрейма.

public static void showDefaultCloseOperation(JFrame frame) {
    final int closeOp = frame.getDefaultCloseOperation();
    switch (closeOp) {
        case JFrame.DO_NOTHING_ON_CLOSE:
            System.out.println("DO_NOTHING_ON_CLOSE");
            break;
        case JFrame.HIDE_ON_CLOSE:
            System.out.println("HIDE_ON_CLOSE");
            break;
        case JFrame.EXIT_ON_CLOSE:
            System.out.println("EXIT_ON_CLOSE");
            break;
        case JFrame.DISPOSE_ON_CLOSE:
            System.out.println("DISPOSE_ON_CLOSE");
            break;
        default:
            System.err.println("Not found: " + closeOp);
    }
}

Здесь напечатано:

HIDE_ON_CLOSE

Так что ответ на этот вопрос: да, это правда.

Вот хотя бы. Какой результат вы получите на локальной машине / среде?

...