JOptionPane.showInputDialog() を使用せずに Java で複数のフィールドを持つポップアップ フォームを作成する方法

Barbara Streisand
リリース: 2024-11-07 08:26:03
オリジナル
582 人が閲覧しました

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

複数のフィールドを持つ単純なポップアップ フォーム

質問:

を作成する方法はありますか? JOptionPane.showInputDialog() を使用せずに複数のフィールドを持つポップアップ フォーム?

回答:

JOptionPane メソッドの使用を検討してください

JOptionPane メソッドの使用は、入力が 1 行に制限されているという想定のため、最初は無視される可能性がありますが、カスタム フォームに対応できる showInputDialog() や showMessageDialog() などのオプションが提供されます。

代替アプローチ

高度にカスタマイズされたソリューションの場合は、次のコードを検討してください。

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();
            }
        });
    }
}
ログイン後にコピー

追加の考慮事項:

  • 使用したフォームのカスタマイズJOptionPane は、コンポーネントの数ではなく、モダリティの適合性に依存します。
  • ダイアログ フォーカスを参照することで、特定のコンポーネントにフォーカスを設定できます。

以上がJOptionPane.showInputDialog() を使用せずに Java で複数のフィールドを持つポップアップ フォームを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!