Я ищу пояснить, в ответ на данный старый вопрос: Do something when the close button is clicked on a JFrameСделайте что-нибудь, когда нажать на кнопку закрытия на JFrame (необходимо уточнение)
В ответ Ravindra Gullapalli предложил этот код:
import javax.swing.JOptionPane;
/*Some piece of code*/
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
if (JOptionPane.showConfirmDialog(frame,
"Are you sure to close this window?", "Really Closing?",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE) == JOptionPane.YES_OPTION){
System.exit(0);
}
}
});
Во-первых, это правильный способ сделать это в Netbeans?
Во-вторых, что такое «рама»? (первое слово в третьей строке кода в ответе, а также первый параметр showConfirmDialog). Согласно API swing, это должно быть типа Component. Однако, когда я заменил это свойством Title моего JFrame, я все равно получил ошибку «не могу найти символ». Имя компонента отличается от названия JFrame, и если да, где я могу его найти? В Навигаторе NetBeans он просто говорит [JFrame] и не отображает имя компонента, в отличие от всех других объектов Form, которые отображают и редактируют имя компонента рядом с типом.
У меня нет доступа к имени переменной внутри Netbeans. Это также было рассмотрено здесь: http://stackoverflow.com/questions/23393107/adding-listeners-in-netbeans –
@mattg ответ того же вопроса говорит вам, как это не проблема –