Saya ingin memanggil metode confirmExit()
ketika tombol tutup merah dari bilah judul JFrame diklik.
Bagaimana saya bisa menangkap peristiwa itu?
Saya juga ingin mencegah jendela ditutup jika pengguna memilih untuk tidak melanjutkan.
java
swing
jframe
windowlistener
alxcyl
sumber
sumber
implements WindowListener
agar kode ini berfungsi? Jika demikian, mungkin baik untuk memasukkannya ke dalam jawaban. Kalau tidak, ini adalah solusi yang elegan.juga bekerja. Pertama buat JFrame yang disebut frame, lalu tambahkan kode ini di bawahnya.
sumber
confirmExit()
metode seperti yang diinginkan OPconfirmExit()
ketika [X] diklik." Dan komentar sebelumnya tidak terkait dengan OQ.Ini mungkin berhasil:
jdialog.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent e) { System.out.println("jdialog window closed event received"); } public void windowClosing(WindowEvent e) { System.out.println("jdialog window closing event received"); } });
Sumber: https://alvinalexander.com/java/jdialog-close-closing-event
sumber
Inilah yang saya taruh sebagai pilihan menu dimana saya membuat tombol pada a
JFrame
untuk menampilkan yang lainJFrame
. Saya ingin hanya bingkai baru yang terlihat, dan tidak menghancurkan yang di belakangnya. Saya awalnya menyembunyikan yang pertamaJFrame
, sedangkan yang baru menjadi terlihat. Setelah menutup yang baruJFrame
, saya membuangnya diikuti dengan tindakan membuat yang lama terlihat lagi.Catatan: Kode berikut memperluas jawaban Ravinda dan
ng
merupakanJButton
:ng.addActionListener((ActionEvent e) -> { setVisible(false); JFrame j = new JFrame("NAME"); j.setVisible(true); j.addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosing(java.awt.event.WindowEvent windowEvent) { setVisible(true); } }); });
sumber
Coba ini:
Ini akan berhasil.
sumber