テーブル領域とテーブルの選択された行のデータを表示する領域を備えた Java GUI を構築しようとしています。これまでマルチフレームのセットアップを試したことがないので、あえてこれを行う前に、他の人に確認したいと思いました. 2 つのフレームを使用してデータをやり取りさせるのは難しいですか? 詳細フレームを画面上の好きな場所に移動するか、2 番目のモニターに移動し、ユーザーが必要に応じてテーブルを全画面表示できるようにするという考えです。入力や例は大歓迎です。
質問する
390 次
3 に答える
2
代わりに
JFrame
sを 2 つ以上作成しないでください。JDialog
これ
JDialog
を別のアクションに再利用します詳細を表示するための 1 つと 1
JFrame
つを作成します。JDialog
行が選択されているかどうか、およびどの
JTables
行が選択されているかを判断する必要がありますListSelectionMode
に設定する方が良いでしょうSingleSelection
JDialog
から呼び出す(すでに存在することを示す)方が良いかもしれません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 に答える