テーブル領域とテーブルの選択された行のデータを表示する領域を備えた Java GUI を構築しようとしています。これまでマルチフレームのセットアップを試したことがないので、あえてこれを行う前に、他の人に確認したいと思いました. 2 つのフレームを使用してデータをやり取りさせるのは難しいですか? 詳細フレームを画面上の好きな場所に移動するか、2 番目のモニターに移動し、ユーザーが必要に応じてテーブルを全画面表示できるようにするという考えです。入力や例は大歓迎です。
3 に答える
2
代わりに
JFramesを 2 つ以上作成しないでください。JDialogこれ
JDialogを別のアクションに再利用します詳細を表示するための 1 つと 1
JFrameつを作成します。JDialog行が選択されているかどうか、およびどの
JTables行が選択されているかを判断する必要がありますListSelectionModeに設定する方が良いでしょうSingleSelectionJDialogから呼び出す(すでに存在することを示す)方が良いかもしれませんJPopupMenu Action
于 2012-07-31T13:49:00.840 に答える
1
あなたが求めていることをすることに何の問題もないはずです。publicプロパティや構造を公開するメソッドを各フレームに配置し、一方のインスタンスを他方に渡すことができますJFrame。これにより、データをやり取りできるようになります。
とはいえ、このシナリオは、 が 1 つ、2 つ、または 3 つ以下の場合にのみ有効だと思いますJFrames。多数のフレームが相互に呼び出しを行うと、メンテナンスの悪夢が発生する可能性があります。
于 2012-07-31T13:48:00.303 に答える
0
これにはいくつかの可能性があります。
- jframe の 1 つを別のリスナーとして追加したり、両方を相互に追加したりできます。このためには、java.awt のようなリスナー メカニズムを実装する必要があります。イベントオブジェクトに含まれる情報を渡すことができます-これは最もクリーンな代替手段です
- 詳細フレームのインスタンスをメイン フレームのコンストラクターに直接渡し、詳細フレームでメイン フレームから操作を呼び出すことができます。これが最も簡単な方法ですが、新しい機能を追加する場合は、多くのコードを変更する必要があります。
于 2012-07-31T13:47:45.090 に答える