ホームページ  >  記事  >  Java  >  JOptionPane を使用して複数の JTextField と JLabel を持つポップアップ フォームを作成する方法

JOptionPane を使用して複数の JTextField と JLabel を持つポップアップ フォームを作成する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-08 15:07:02769ブラウズ

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

複数の JTextField と JLabel を使用してポップアップ フォームを表示する

問題:

ユーザーの要件はポップアップを表示することですボタンをクリックすると、フォームに少なくとも 2 つの JTextField と JLabel が含まれていますが、JOptionPane.showInputDialog() の使用は受け入れられる解決策ではありません。

答え:

JOptionPane の利用を検討してください。

追加の考慮事項:

  • 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 と JLabel を持つポップアップ フォームを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。