だから私はたくさんのテーブルとたくさんのセルエディタを持っていて、それらにはたくさんのものがあります。すべてが getTableCellEditorComponent() に設定されているため、毎回 new() を実行するのではなく、それらを再利用する必要があると考えましたが、それでも、ほぼ毎回実行しようとすると、古いセルに「残り物」が表示され、その他の奇妙なことが起こります。通常、毎回新しい問題を作成するだけで問題を解決できますが、これは悪いことですか?
ありがとう!ジョシュア
だから私はたくさんのテーブルとたくさんのセルエディタを持っていて、それらにはたくさんのものがあります。すべてが getTableCellEditorComponent() に設定されているため、毎回 new() を実行するのではなく、それらを再利用する必要があると考えましたが、それでも、ほぼ毎回実行しようとすると、古いセルに「残り物」が表示され、その他の奇妙なことが起こります。通常、毎回新しい問題を作成するだけで問題を解決できますが、これは悪いことですか?
ありがとう!ジョシュア
ごとに常にゼロまたは 1 つのエディターがJTable
あるため、呼び出しのパフォーマンスgetTableCellEditorComponent()
はそれほど重要ではありません。ただし、テーブル レンダラーを扱う場合は、新しいコンポーネントを作成することは避けなければなりません。
JTable
は巨大です。aのJComponent
サブクラスTableCellEditor
も非常に大きい場合がありますが、心配する必要はありません。さらに、ミュータブルなオブジェクト、特に Swing コンポーネントのように複雑なものを共有しないようにすることをお勧めします。コンポーネントの有効期間ごとに 1 つの親を持つことは、良い選択肢のようです。