我試圖向JFrame添加一個退出確認檢查,但我希望該對話框未被修飾。我想我需要使用自定義的JDialog和自定義的JOptionPane。在嵌入式JOptionPane上按是/否沒有任何作用
frame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
JDialog dialog = new JDialog();
dialog.setUndecorated(true);
JOptionPane pane = new JOptionPane("Are you sure that you want to exit?",
JOptionPane.QUESTION_MESSAGE,JOptionPane.YES_NO_OPTION);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE); //I don't even know if this line does anything
dialog.setContentPane(pane);
dialog.pack();
dialog.setLocationRelativeTo(frame);
dialog.setVisible(true);
System.out.println("Next Line"); //this line does not work.
}
});
對話框完全按照我想要的方式顯示,但單擊「是」或「否」不起作用。對話框不會消失,我無法找到一種方法來檢查哪個按鈕被點擊。 「下一行」從不打印到控制檯。
這可以工作。謝謝。我有另一個問題。我沒有寫任何東西到控制檯,而是關閉了對話框。這是更好的方法,還是有內置的方法來關閉它? – WVrock 2014-12-07 05:56:12
據我所知,嵌入式的JOptionPane無法自動關閉其託管框架,它將如何知道? – Adam 2014-12-07 06:03:57