Ответ 1
Если я правильно понимаю, этот отчет об ошибке указывает, что в настоящее время это невозможно.
У меня есть окно (полученное из JFrame), и я хочу отключить кнопку закрытия во время определенных операций, которые не прерываются. Я знаю, что я могу заставить кнопку ничего не делать (или вызвать обработчик в WindowListener), вызвав
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
но я хотел бы наглядно продемонстрировать, что его бессмысленно нажимать.
Если я правильно понимаю, этот отчет об ошибке указывает, что в настоящее время это невозможно.
Это, вероятно, лучшее, что вы получите:
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.NONE);
Это приведет к удалению всей панели заголовка, java не указывает способ удаления отдельных компонентов заголовка
изменить:
Возможно, есть способ проверить эти потоки:
Для тех, кто подходит к этому позже 2008 года, произошли изменения, позволяющие это сделать. См. эта ссылка
Второй ответ снизу показывает, как это сделать по имени.
Пожалуйста, попробуйте
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
e.getWindow().setVisible(false);
try {
wait();
} catch (InterruptedException ex) {
Logger.getLogger(WindowsActions.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
Это поможет вам:
frame.setDefaultCloseOperation(0);