1

私はデータベース アプリケーションを作成しており、この問題に 1 週​​間苦労しています。私の質問にタイトルを投稿する方法もわかりませんが、ご理解いただければ幸いです。City と Country の 2 つのフレームがあります。

都市フレーム:

ここに画像の説明を入力 国フレーム:

ここに画像の説明を入力

都市フレームの「検索」ボタンをクリックすると、国フレームが開きます。国フレームのテーブルをクリックすると、選択した行と列「国」の値が次のメソッドで変数 tableValCountry に渡されます。

table.addMouseListener(new MouseListener(){

        @Override
        public void mouseClicked(MouseEvent e) {
            int selRow = table.getSelectedRow();

            String tableValCountry = (String)table.getValueAt(selRow, 1);
        }

        @Override
        public void mouseEntered(MouseEvent e) {
        }

        @Override
        public void mouseExited(MouseEvent e) {
        }

        @Override
        public void mousePressed(MouseEvent e) {
        }

        @Override
        public void mouseReleased(MouseEvent e) {
        }});

次に、その tableValCountry 変数を City フレームに渡し、追加ボタンをクリックしてテキストフィールドの 1 つを更新します。どうすればそれを達成できますか?前もって感謝します。

PSゲッターとセッターでそれを行うことができますが、値を取得するには、Cityフレームに「フェッチ」ボタンが必要です(これはやりたくありません)。また、City フレームは常に表示されている必要があります。

4

3 に答える 3

2

Swing のやり方はgetSelectedCountry()、ユーザーが国を選択したときに通知されるメソッドとリスナーのリストを検索パネルに実装させることです。

ユーザーが検索をクリックすると、メイン コンポーネントが検索パネルを作成し、それ自体を検索パネル イベントのリスナーとして登録します。イベント ハンドラーは、検索パネルで選択された国を取得し、テキスト フィールドに入力します。

検索パネルの実装は、ユーザーが国を選択したときにすべてのリスナーに通知するだけで済みます。

この記事はそれをかなりカバーしていると思います。

于 2012-08-26T16:15:12.950 に答える
2

複数の JFrames の使用、良い/悪い習慣を参照してください。

このユースケースでは、モーダル ダイアログが最適です。ダイアログが可視に設定された後の行で、値を照会できます。

于 2012-08-26T23:37:21.607 に答える