Rumah > Java > javaTutorial > Bagaimana untuk Menunjukkan Kotak Mesej Serta-merta pada Perubahan Nilai Medan Teks dalam Swing?

Bagaimana untuk Menunjukkan Kotak Mesej Serta-merta pada Perubahan Nilai Medan Teks dalam Swing?

Susan Sarandon
Lepaskan: 2024-12-23 06:13:30
asal
348 orang telah melayarinya

How to Show a Message Box Immediately on TextField Value Change in 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);
        }
    }
});
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan