Heim > Java > javaLernprogramm > Wie zeige ich ein Meldungsfeld sofort bei einer Änderung des TextField-Werts in Swing an?

Wie zeige ich ein Meldungsfeld sofort bei einer Änderung des TextField-Werts in Swing an?

Susan Sarandon
Freigeben: 2024-12-23 06:13:30
Original
320 Leute haben es durchsucht

How to Show a Message Box Immediately on TextField Value Change in Swing?

TextField Value Change Listener

Ihr Ziel ist es, bei Wertänderungen in einem Textfeld sofort ein Meldungsfeld anzuzeigen. Ihr aktueller Code fordert das Meldungsfeld jedoch erst auf, nachdem Sie die Eingabetaste gedrückt haben. Um dieses Problem zu beheben, konzentrieren Sie sich auf das zugrunde liegende Dokument, um Textfeldänderungen zu verfolgen.

Lösung:

JTextFields wurden in Swing eingeführt und verwenden ein Dokument, das den Text speichert und verwaltet Inhalt. Durch das Hinzufügen eines DocumentListener können Sie Textänderungen innerhalb des Felds überwachen. Hier ist der aktualisierte Code:

// 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);
        }
    }
});
Nach dem Login kopieren

Wenn der DocumentListener vorhanden ist, lösen alle Textänderungen im Feld jetzt die Methode warn() aus, die die Eingabe überprüft und bei Bedarf das Meldungsfeld anzeigt. Auf diese Weise wird das Meldungsfeld sofort angezeigt, nachdem der Benutzer den Text entsprechend Ihren Anforderungen geändert hat.

Das obige ist der detaillierte Inhalt vonWie zeige ich ein Meldungsfeld sofort bei einer Änderung des TextField-Werts in Swing an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage