0

次の問題があります。次の値を持つJTableがあるとしましょう。

1 2 3 4 5

ここで「3」を選択し、行のインデックスを保存して「3」を印刷するボタンを押します。別のボタンがあります。これを「次のボタン」と呼びます。押すと「4」が印刷されます。

次に、テーブル全体を並べ替えます(または、この場合はランダム化します)。これで、次のようになります。

2 5 4 1 3

「次へ」ボタンを押すと、「4」以降の値なので「1」を出力したい。

これを機能させるにはどうすればよいですか?保存された行+1を出力するよりも、テーブルを並べ替えていないときはすでに機能しています...

保存された行を新しい値で上書きできるように、sort Listenerのようなものはありますか?

乾杯ティモシー

4

2 に答える 2

0

の世界に飛び込むことをお勧めしますTableModel。Swingでプログラミングする場合、通常、モデルをコンポーネントからすぐに分割するのが最善です。順序を処理するためにテーブルに列を追加しますが、表示しないでください。

より簡単な方法ですが、少し行き止まりですが、独自に考案したタイプのテーブルにオブジェクトを格納することです。オーバーライドtoStringするだけで、表示表現が返されます。

于 2010-07-04T20:05:11.460 に答える
0

問題は最後のインデックスにあることを理解しているので、4の場合、次のインデックスは1になるはずです。この問題は、if条件を作成することで実行できます。たとえば、uがインデックスを変数rowIndex=4に保存すると仮定した場合。if(rowIndex == jTable.getRowCount()-1)nextRowinsex = 1; //これは最初のインデックスです

于 2010-07-04T20:13:35.137 に答える