首頁 > Java > java教程 > 主體

如何使用 JOptionPane 建立具有多個 JTextField 和 JLabels 的彈出表單?

Susan Sarandon
發布: 2024-11-08 15:07:02
原創
767 人瀏覽過

How to Create a Popup Form with Multiple JTextFields and JLabels Using JOptionPane?

使用多個JTextField 和JLabels 來顯示彈出表單

問題:

用戶的要求是呈現一個彈出視窗點擊按鈕時至少包含兩個JTextFields 和JLabels的表單,但使用JOptionPane.showInputDialog() 不是一個可接受的解決方案。

答案:

考慮使用 JOptionPane 方法,如 showInputDialog() 或 showMessageDialog(),儘管組件數量較多。

額外注意事項:

  • JOptionPane 的選擇更取決於所需的模式而不是顯示的元素數量。
  • 透過採用「對話焦點」中所述的方法,您可以將焦點定向到特定元件。

範例程式碼:

以下程式碼片段示範了使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板