2011年4月20日水曜日

JTableの列を非表示にする

JTableを利用するときに、内部に情報を持つがGUIには表示したくない場合の処理を書きます

まずJTableを利用する際の、基本的な概念としてビューとモデルがあります
ここではJTableがビューであり、JTable内の情報(配列など)がモデルです

//列名
String[] columnTitle={"商品名","産地","値段"};

//モデル
String[][] model_data =
 {{"みかん","わかやま","100"}
  {"りんご","あおもり","150"}
  {"ぶどう","ながの","400"}};

//ビュー
JTable table = new JTable(model_data,clumnTitle);


これでJTableが生成され、model_dataの情報をGUIへ表示するようになります。ここで産地を表示したくないという状況になったとします。しかしmodel_dataの値は保持したままにしたい
その際には

table.removeColumn("産地");

とすれば産地の列のみがJTableのGUIから削除されます、もちろんmodel_dataの中身には産地情報が残ります
表示したくない列は最初からJTableに与えないようにしてもいいのですが、ここで説明したのはモデルのデータをまとめてビューに表示させて、後から列を削除するやり方です

書いてて思ったけど、当たり前すぎてエントリを書く意味があったのか疑問に思ってしまったw

0 件のコメント:

コメントを投稿

Web Analytics