Rumah >Java >javaTutorial >Bagaimana untuk Menunjukkan Kotak Mesej Serta-merta pada Perubahan Nilai Medan Teks dalam Swing?
Pendengar Perubahan Nilai Medan Teks
Matlamat anda ialah untuk memaparkan kotak mesej serta-merta apabila nilai berubah dalam medan teks. Walau bagaimanapun, kod semasa anda menggesa kotak mesej hanya selepas menekan kekunci enter. Untuk menyelesaikan isu ini, fokus pada Dokumen asas untuk menjejaki perubahan medan teks.
Penyelesaian:
Diperkenalkan dalam Swing, JTextFields menggunakan Dokumen yang menyimpan dan mengurus teks kandungan. Menambah DocumentListener membolehkan anda memantau perubahan teks dalam medan. Berikut ialah kod yang dikemas kini:
// Listen for changes in the text textField.getDocument().addDocumentListener(new DocumentListener() { public void changedUpdate(DocumentEvent e) { warn(); } public void removeUpdate(DocumentEvent e) { warn(); } public void insertUpdate(DocumentEvent e) { warn(); } public void warn() { if (Integer.parseInt(textField.getText()) <= 0) { JOptionPane.showMessageDialog(null, "Error: Please enter number bigger than 0", "Error Message", JOptionPane.ERROR_MESSAGE); } } });
Dengan DocumentListener tersedia, sebarang perubahan teks dalam medan kini mencetuskan kaedah warn(), yang menyemak input dan memaparkan kotak mesej jika perlu. Dengan cara ini, kotak mesej muncul serta-merta selepas pengguna mengubah suai teks, memenuhi keperluan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menunjukkan Kotak Mesej Serta-merta pada Perubahan Nilai Medan Teks dalam Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!