問題:
用戶的要求是呈現一個彈出視窗點擊按鈕時至少包含兩個JTextFields 和JLabels的表單,但使用JOptionPane.showInputDialog() 不是一個可接受的解決方案。
答案:
考慮使用 JOptionPane 方法,如 showInputDialog() 或 showMessageDialog(),儘管組件數量較多。
額外注意事項:
範例程式碼:
以下程式碼片段示範了使用 JPanel、JComboBox 和 JTextFields 與 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(); } }); } }
以上是如何使用 JOptionPane 建立具有多個 JTextField 和 JLabels 的彈出表單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!