Heim >Java >javaLernprogramm >Wie erstelle ich ein Popup-Formular mit mehreren Feldern in Java ohne JOptionPane.showInputDialog()?

Wie erstelle ich ein Popup-Formular mit mehreren Feldern in Java ohne JOptionPane.showInputDialog()?

Barbara Streisand
Barbara StreisandOriginal
2024-11-07 08:26:03667Durchsuche

How to Create a Popup Form with Multiple Fields in Java Without JOptionPane.showInputDialog()?

Einfaches Popup-Formular mit mehreren Feldern

Frage:

Gibt es eine Möglichkeit zum Erstellen? ein Popup-Formular mit mehreren Feldern ohne Verwendung von JOptionPane.showInputDialog()?

Antwort:

Erwägen Sie die Verwendung von JOptionPane-Methoden

Während die Verwendung von JOptionPane-Methoden zunächst aufgrund der Annahme, dass sie auf eine Eingabezeile beschränkt sind, abgelehnt werden kann, bietet sie Optionen wie showInputDialog() und showMessageDialog(), die benutzerdefinierte Formulare unterstützen können.

Alternativer Ansatz

Berücksichtigen Sie für eine hochgradig individuelle Lösung den folgenden Code:

package gui;

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();
            }
        });
    }
}

Zusätzliche Überlegungen:

  • Anpassen von Formularen mit JOptionPane hängt von der Eignung der Modalität und nicht von der Anzahl der Komponenten ab.
  • Der Fokus kann auf bestimmte Komponenten gesetzt werden, indem auf den Dialogfokus verwiesen wird.

Das obige ist der detaillierte Inhalt vonWie erstelle ich ein Popup-Formular mit mehreren Feldern in Java ohne JOptionPane.showInputDialog()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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