- PR -

1 つのセルに 2 つのコンポーネント

1
投稿者投稿内容
girio
会議室デビュー日: 2004/04/25
投稿数: 2
投稿日時: 2004-04-25 18:45
初めて投稿させていただきます girio と申します。
よろしくお願いいたします。

JTable のある列の 1 セル中に JCheckBox と JTextField をセットしたい
と思っております。
TableCellRenderer を実装したクラスに JCheckBox と JTextField を
配置して表示はうまくいきました。
ここから JCheckBox をチェックすればチェックボックスにチェックがつき、
JTextField をクリックしたときは文字入力できるようにしたいのです。

DefaultCellEditor を継承した Editor をセットしましたが、Java の
API にあるとおりコンストラクタの引数で JCheckBox または JTextField
のどちらかしか渡すことができません。
結果、例えば引数で JTextField を渡した場合、セルをクリックして編集
しようとすると セル全体が JTextField に覆われて JCheckBox が隠れて
しまいます。
JChekcBox と JTextField の表示サイズが変更されること無く(JCheckBox が
隠れない状態で)JTextField への編集を可能にする方法をご存知の方が
いらっしゃいましたらご教授いただけると幸いです。
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2004-04-26 15:01
レンダラはDefaultTableCellRendererを使わずに、TableCellRendererを
実装したクラスを作ったのですよね。同様にエディタもTableCellEditorを
直接実装したクラスを作ればいいのではないでしょうか?
girio
会議室デビュー日: 2004/04/25
投稿数: 2
投稿日時: 2004-04-27 10:53
Wata さん、返信が遅くなり申し訳ありません。
TableCellEditor を直接実装したクラスに置き換え、
表示上の問題は解決できました。
ありがとうござました。
1

スキルアップ/キャリアアップ(JOB@IT)