プロが教える店舗&オフィスのセキュリティ対策術

やりたい事は、あるJTableのあるセルに値を出したいだけなのです。
あるJTable-AについてはsetValueAtを使用して簡単に値を表示する事が
出来たのですが、別のJTable-Bには同じメソッドを使用しても表示されません。
よくよく、確認してみたところ、JTable-BはAbstractTableModelを派生して
独自に作成したクラスMyModelをsetModelしていました。
MyModelクラスの中身にはやはり、空のsetValueAtメソッドが存在していました。
これで、解決と思ったのですが、setValueAtをコメントアウトしても何も
変わりませんでした。次にsetValueAtに
super.setValueAt(~)を記述して(上位におまかせのつもり)やってみましたが
何も変わりませんでした。この場合どうすればセルに値が表示される様に
なるのでしょうか?
よろしくお願いします。

A 回答 (1件)

結論としては、独自に作ったMyModelがどう作られているのかわからないことには、回答しようがないです。



MyModelがどういった方法でデータを保持しているのか調べたらよいと思います。
その上でsetValueAtではMyModelが保持しているデータを更新するようにし、
getValueAtで、保存された値を返すようにする必要があります。

単に値を保持しているだけならば、AbstractTableModelの代わりに、DefaultTableModelを継承して、MyModelを作ればいいと思います。
    • good
    • 0
この回答へのお礼

我ながらアホな質問をしたという事に気づきはじめました。先人の作りかけを更新していってるのですが、MyModelの中にデータを保持してそれをgetValueAtで取り出していました。という事はsetValueAtとしては保持している変数を更新すればいいという事ですね。変数を更新して、一体誰がセル上に表示してくれるのか?という流れが見えていないので、疑問でした。ちょっと、やってみます。ありがとうございました。

お礼日時:2003/05/06 16:44

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