JTable上に以下のようなデータを表示してあります。
合計 国語 数学 英語
Aさん 250 100 80 70
Bさん 230 100 90 40
Cさん 200 70 80 50
今、合計の降順に並んでいますが、
これを、コマンドボタンクリックにより、
英語の降順に並びなおそうと考えています。
1度2次元配列にデータを代入し、arrays.sortで、
並び替え、再度、Jtableで表示するつもりです。が、
jTableに、もっと簡単に並び替えて表示させる
方法はないでしょうか?
よろしくお願いいたします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ご質問から推測すると、データをDefaultTableModeにセットして
JTableへ表示しているのだと思いますが、
TableModeをAdapterとして使用したらどうでしょうか?
ソート後にDefaultTableModeへ戻す作業がいらなくなります。
(ただし、Adapterを作る必要がある)
概略としては、
1.データは配列等に格納しておく(ソート出来る状態)
(配列の代りにArrayListでもいいと思います)
2.AbstractTableModelを拡張しAdapterを作る。
JTableは表示するための情報として、
・getRowCount()
->行数
・getColumnCount()
->列数
・getValueAt(rowIndex,columnIndex)
->指定セルの値
・getEditable()
->編集可能か
を呼び出すため、これらのメソッドをオーバーライドして、
適切な値を返すようにする。
*データを格納した配列等から情報を取得し、そのまま返す。
例:
public Object getValueAt(int rowIndex,int columnIndex){
return data[rowIndex][columnIndex];
}
3.データの更新後、ソート実行後には、AbstractTableModelのfireTableChanged()
を呼び出す。
コードの量としては、むしろ増えるかもしれませんね。
しかし、データをDefaultTableModeにセットするよりは、
後で応用が利きやすいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Googleスプレッドシートの割合の関数と円グラフの並べ替えについて 1 2022/07/22 17:31
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(ソフトウェア) Googleスプレッドシートについて 5 2022/05/07 11:46
- Excel(エクセル) Excelの並び替え(先頭の文字以外を基準に並び替えたい) 3 2023/07/07 22:21
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- 英語 高校英語の並び替え問題について 2 2022/11/08 05:39
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- その他(Microsoft Office) 逆順 3 2023/08/24 09:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
『args[]』とは?
-
[Ljava.lang.Stringってなんですか
-
javaについて
-
n番目に大きな値を探索する
-
この警告はどうすれば?
-
javaでEUC-JP文字列→UTF-8への変換
-
配列の中に複数存在する数がい...
-
配列について
-
配列で、値の入っている要素数...
-
配列をセッションに割り当てた後で
-
【C#】ハッシュテーブル(連想...
-
セッションを使ったint型の値の...
-
main(String[] args) の args...
-
java
-
Javaで文字と数字が混ざったも...
-
無名配列の作成方法について質問
-
多次元配列はなぜ必要???
-
2次元の配列となっているクラ...
-
JSPでデータ一覧表示
-
C++で、Excelの内容を取得する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[Ljava.lang.Stringってなんですか
-
この警告はどうすれば?
-
C#で動的配列Listの中身をListB...
-
javaで大容量テキストファイル...
-
C言語でunsigned char配列を連...
-
n番目に大きな値を探索する
-
JavaのBase64デコードで正しく...
-
配列で、値の入っている要素数...
-
Javaで文字を漢字であるか否か...
-
配列の中に複数存在する数がい...
-
データベースから取得したデー...
-
【C#】ハッシュテーブル(連想...
-
Javaで文字と数字が混ざったも...
-
cloneメソッドについて (java)
-
ArrayListからBean配列に値をセ...
-
配列をセッションに割り当てた後で
-
int配列をbyte配列に変換
-
セッションを使ったint型の値の...
-
javamailで複数人にメールを送...
-
【Ajax通信&Java】配列の受け取...
おすすめ情報