0

テーブル領域とテーブルの選択された行のデータを表示する領域を備えた Java GUI を構築しようとしています。これまでマルチフレームのセットアップを試したことがないので、あえてこれを行う前に、他の人に確認したいと思いました. 2 つのフレームを使用してデータをやり取りさせるのは難しいですか? 詳細フレームを画面上の好きな場所に移動するか、2 番目のモニターに移動し、ユーザーが必要に応じてテーブルを全画面表示できるようにするという考えです。入力や例は大歓迎です。

4

3 に答える 3

2
  • 代わりにJFramesを 2 つ以上作成しないでください。JDialog

  • これJDialogを別のアクションに再利用します

  • 詳細を表示するための 1 つと 1JFrameつを作成します。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 に答える