ホームページ  >  記事  >  Java  >  ある JFrame の JTable から別の JFrame のテキスト フィールドにデータを渡すにはどうすればよいでしょうか?

ある JFrame の JTable から別の JFrame のテキスト フィールドにデータを渡すにはどうすればよいでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-26 19:00:30400ブラウズ

How do you pass data from a JTable in one JFrame to text fields in another JFrame?

JFrame 間でのデータの受け渡し

このシナリオでは、2 つの JFrame があります。frame1 にはテキスト フィールドが含まれ、frame2 にはテキスト フィールドが含まれます。検索ボックスと、検索結果を含む JTable。あなたの目標は、JTable から選択した値を Frame1 のテキスト フィールドに反映することです。

オブジェクト参照と通信

あなたの質問は、frame1 のオブジェクトをパラメータとして渡すことについて言及しています。ただし、GUI オブジェクト間での参照の受け渡しは、非 GUI Java コードでの参照の受け渡しと同じ原則に従っていることを理解することが重要です。 2 番目の JFrame (frame2) への参照は通常、最初の JFrame (frame1) 内でアクセスできるため、そのメソッドを直接呼び出すことができます。

クロスウィンドウ ステート アクセス

あるウィンドウの状態に別のウィンドウからアクセスするタイミングは、ウィンドウの関係に依存します。モーダル ダイアログの場合、最初のウィンドウはダイアログが戻った直後にデータを取得できます。これは、ダイアログを表示できるように設定した後に実行されるコードです。

非モーダル ダイアログの場合、リスナーに依存して、いつデータを抽出するかを決定することがよくあります。

例: Windows 間でのテキストの受け渡し

この概念を説明するために、次の例を考えてみましょう。

<code class="java">import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class WindowCommunication {

    public static void main(String[] args) {
        JFrame frame1 = new JFrame("Frame 1");
        frame1.getContentPane().add(new JLabel("Text: "));
        frame1.getContentPane().add(new JTextField(10));
        JButton button = new JButton("Open Frame 2");
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                JDialog frame2 = new JDialog(frame1, "Frame 2");
                frame2.getContentPane().add(new JTextField(10));
                frame2.pack();
                frame2.setVisible(true);
            }
        });
        frame1.getContentPane().add(button);
        frame1.pack();
        frame1.setLocationRelativeTo(null);
        frame1.setVisible(true);
    }
}</code>

この例では、フレーム 1 のボタンをクリックすると、JDialog フレーム 2 が開きます。 Frame2 への参照は Frame1 によって保持され、後者は Frame2 内の JTextField 内のテキストにアクセスして操作できるようになります。

同様に、リスナーベースの手法を使用して、特定のシナリオで JTable からデータを取得できます。テーブル内で目的の行がいつ選択されるかを決定します。

以上がある JFrame の JTable から別の JFrame のテキスト フィールドにデータを渡すにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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