0

だから私はたくさんのテーブルとたくさんのセルエディタを持っていて、それらにはたくさんのものがあります。すべてが getTableCellEditorComponent() に設定されているため、毎回 new() を実行するのではなく、それらを再利用する必要があると考えましたが、それでも、ほぼ毎回実行しようとすると、古いセルに「残り物」が表示され、その他の奇妙なことが起こります。通常、毎回新しい問題を作成するだけで問題を解決できますが、これは悪いことですか?

ありがとう!ジョシュア

4

2 に答える 2

1

ごとに常にゼロまたは 1 つのエディターがJTableあるため、呼び出しのパフォーマンスgetTableCellEditorComponent()はそれほど重要ではありません。ただし、テーブル レンダラーを扱う場合は、新しいコンポーネントを作成することは避けなければなりません。

于 2009-05-13T12:21:19.623 に答える
1

JTableは巨大です。aのJComponentサブクラスTableCellEditorも非常に大きい場合がありますが、心配する必要はありません。さらに、ミュータブルなオブジェクト、特に Swing コンポーネントのように複雑なものを共有しないようにすることをお勧めします。コンポーネントの有効期間ごとに 1 つの親を持つことは、良い選択肢のようです。

于 2009-05-13T12:14:53.567 に答える