1

Mainクラスと、jTableを直接保持するjFrameを拡張する別のクラスを取得しました。何かが起こるまで(=ユーザーがEnterキーを押すまで)コードの実行を停止したいのですが。次に、他のクラスMyJFrameで保持しているテーブルから選択した行の値を取得します。今のところ、私はそのようにこれを達成しようとしています:

ArrayList<String[]> result = new ArrayList<String[]>();
String[ ] columns = new String[] {"h1", "h2", "h3" };

result.add(new String[]{ "some", "test", "values" });
result.add(new String[]{ "some", "test", "values" });

ArrayListTableModel model = new ArrayListTableModel(result, columns);

//waiting for enter...

MyJFrame frame = new MyJFrame(model);
int row = frame.getActiveRow();
selectedData = result.get(row);

PS:あなたが私の問題を理解してくれることを願っています、私はそれを説明するのに苦労しました...

4

1 に答える 1

1

..jFrameを拡張します。..次に、他のクラスMyJFrameで保持しているテーブルから選択した行の値を取得します。

複数のJFrameの使用、良い/悪い習慣を参照してください。 それらのフレームの1つは、当面の問題を解決するためのモーダルダイアログである必要があります。ダイアログは、開いている間、プログラムを「一時停止」します。

「返信待ち」の例については、この回答を参照してください。

于 2012-12-10T15:40:47.173 に答える