Problem:
Die Anforderung eines Benutzers besteht darin, ein Popup anzuzeigen Formular, das beim Klicken auf die Schaltfläche mindestens zwei JTextFields und JLabels enthält, aber die Verwendung von JOptionPane.showInputDialog() ist keine akzeptable Lösung.
Antwort:
Erwägen Sie die Verwendung von JOptionPane Methoden wie showInputDialog() oder showMessageDialog() trotz der Anzahl der Komponenten.
Zusätzliche Überlegungen:
Beispielcode:
Der folgende Codeausschnitt demonstriert die Implementierung eines Popup-Formulars mithilfe eines JPanel, einer JComboBox und JTextFields mit JOptionPane.
import java.awt.EventQueue; import java.awt.GridLayout; import javax.swing.*; 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(); } }); } }
Das obige ist der detaillierte Inhalt vonWie erstelle ich mit JOptionPane ein Popup-Formular mit mehreren JTextFields und JLabels?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!