Heim > Java > javaLernprogramm > Wie erstelle ich ein benutzerdefiniertes Popup-Formular mit mehreren Textfeldern in Java?

Wie erstelle ich ein benutzerdefiniertes Popup-Formular mit mehreren Textfeldern in Java?

Patricia Arquette
Freigeben: 2024-11-09 21:00:05
Original
1001 Leute haben es durchsucht

How to create a custom popup form with multiple text fields in Java?

So erstellen Sie ein einfaches Popup-Formular mit mehreren Textfeldern in Java

Bei der Implementierung einer Desktop-Anwendung ist es oft notwendig, Benutzer zu sammeln Eingabe über ein Formular. Während die Methode JOptionPane.showInputDialog für einfache Eingaben verwendet werden kann, ist sie nicht für Formulare mit mehreren Feldern geeignet. Dieser Artikel bietet eine alternative Lösung, die es Entwicklern ermöglicht, benutzerdefinierte Popup-Formulare mit mehreren Textfeldern zu erstellen.

Um dies zu erreichen, sollten Entwickler die Methode JOptionPane.showConfirmDialog in Verbindung mit einem benutzerdefinierten Bedienfeld verwenden, das die gewünschten Formularkomponenten enthält. Die folgenden Schritte beschreiben den Prozess:

  1. Panel erstellen: Instanziieren Sie ein JPanel und legen Sie sein Layout mit GridLayout fest. Dadurch werden die Formularkomponenten vertikal angeordnet.
  2. Formularkomponenten hinzufügen: Fügen Sie dem Panel nach Bedarf JComboBox-, JTextField- und JLabel-Komponenten hinzu.
  3. Zeigen Sie das Popup an : Rufen Sie JOptionPane.showConfirmDialog mit dem Panel als primärem Argument auf. Dadurch wird das benutzerdefinierte Popup-Formular mit den angegebenen Komponenten angezeigt.
  4. Ergebnis verarbeiten: Nachdem der Benutzer mit dem Formular interagiert hat, zeigt die Ergebnisvariable an, ob auf die Schaltfläche „OK“ oder „Abbrechen“ geklickt wurde. Entwickler können die Formulardaten dann entsprechend verarbeiten.

Das bereitgestellte Codebeispiel zeigt, wie Sie ein benutzerdefiniertes Popup-Formular mit einer JComboBox und zwei JTextField-Komponenten erstellen:

import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.*;

/** @see https://stackoverflow.com/a/3002830/230513 */
class JOptionPaneTest {

    private static void display() {
        String[] items = {"One", "Two", "Three", "Four", "Five"};
        JComboBox<String> combo = new JComboBox<>(items);
        JTextField field1 = new JTextField("1234.56");
        JTextField field2 = new JTextField("9876.54");
        JPanel panel = new JPanel(new GridLayout(0, 1));
        panel.add(combo);
        panel.add(new JLabel("Field 1:"));
        panel.add(field1);
        panel.add(new JLabel("Field 2:"));
        panel.add(field2);
        int result = JOptionPane.showConfirmDialog(null, panel, "Test", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
        if (result == JOptionPane.OK_OPTION) {
            System.out.println(combo.getSelectedItem() + " " + field1.getText() + " " + field2.getText());
        } else {
            System.out.println("Cancelled");
        }
    }

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                display();
            }
        });
    }
}
Nach dem Login kopieren

Indem Sie dies nutzen Mit dieser Technik können Entwickler ganz einfach benutzerdefinierte Popup-Formulare mit mehreren Feldern erstellen und so eine benutzerfreundlichere und effizientere Möglichkeit bieten, Benutzereingaben in ihren Java-Anwendungen zu sammeln.

Das obige ist der detaillierte Inhalt vonWie erstelle ich ein benutzerdefiniertes Popup-Formular mit mehreren Textfeldern in Java?. 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