• ベストアンサー

jTable:複数選択時の選択範囲

こんにちは。 javaのjTableについてお伺いしたいことがあります。 jTableを[ctrl]キーを押しながら左クリックを押すと複数のセルを選択できるようにしたいと思います。「列」を(A,B,C,D…)で表し、「行」を(1,2,3,4…)で表すExcel風で言うと、(D1)→(C5)の順で選択すると(D1)と(C5)だけが選択状態になり、色が変わることが理想です。 ところが現実に(D1)→(C5)の順で選択すると(D1)(C5)だけでなく(D5)(C1)も選択状態になり、そこの色も変わってしまいます。どうすれば理想の状態になるか、ご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • PecoPlus
  • ベストアンサー率76% (144/188)
回答No.1

 こんにちは。  本当にそうなりますね。  JTabelのソースコードとか見てみたんですけど、原因は、セルの選択状態を縦横二つの ListSelectionModel で、実装してあることにあるようです。  バグと言うより、どう見ても JTable の設計ミスのように見えます。  JTabel を継承して、そこら辺を修正したものを作ることはできそうですが、結構大変そうです。  JTable をあきらめるか、がんばって、JTable を継承し、修正版を自作するかしかないように思います。

dekachin
質問者

お礼

ご回答ありがとうございます。 結局、セレクションモードをシングルセレクションモードにして、[ctrl]+左クリックで選択した日付をjListに入れる、という方式を採りました。jTableの修正版は時間ができたら後ほど作ってみたいと思います。

関連するQ&A