アプリ版:「スタンプのみでお礼する」機能のリリースについて

JTableを利用してグラフィカルなテーブル表を作成したいと思っています。
(例)
NAME AGE TEL ADDRESS
------------------------------------
tanaka 30  X-X-X XXX
yamada 23 Y-Y-Y YYY

この際、以下のようなことは実現可能でしょうか?
また可能な場合、どのようなコーティングになるのでしょうか?

(1)特定の列を非表示にする
 例えば"TEL"カラムを非表示にする(ただし内部で内容を保持)
(2)値すべてを非表示にする
 ただし、"NAME"などの列名(ヘッダー)はそのまま表示する

A 回答 (2件)

(1)


表示、非表示を司るプロパティはありません。
かわりにViewクラス(この場合はJTable)から列を削除したり追加したりさせます。

TableColumn column table.getColumn("TEL");
table.removeColumn(column);
table.addColumn(column);

一般には表示状態を記憶する変数を用意し、表示/非表示のリクエストがあるたびに
Viewクラスを再構築させるようにすると思います。
ちなみにこの方法で列を消したり追加しても内部のデータに影響は出ません。

自分だったら列の表示・非表示ができるJTableのサブクラスを作りますね。

(2)
こちらも表示・非表示することはできず、表示させたくない場合は
Modelクラスから全ての行を削除することになるでしょう。
削除すると値の保持はされませんので、元のModelのコピーを作っておく必要があるでしょう。

ざっくり書きましたが、この2つを実装するのはおそらく結構しんどいです。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。
Jtableは、便利なんだけど、やはりEXCELほどの作りこみはやりにくいですね。。。
アドバイスどおり、View操作を行うJtableのサブクラスを作成しました。

お礼日時:2006/08/15 03:35

条件によって手段が変ってきます。



・補足要求1
テーブルは表示だけか、それとも入力があるのか

・補足要求2
非表示というのは常に非表示なのか、表示/非表示の切り替えがあるのか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!