いくつかの列を持つ JTable があります。そのうちの 1 つは、JPanel に 3 つのボタンを表示するためのカスタム レンダラーと、クリック可能にするためのカスタム エディターを備えています。ボタンの 1 つは、その行 ID の削除コマンドをサーバーに送信し、データ モデルをクリアしてデータを再度ロードすることにより、サーバーからテーブル データを再ロードします。これが発生すると、行がなくなっても別の行の別のボタンをクリックするまで、3 つのボタンを持つセルが表示され続けます (ただし、行の残りの部分は表示されません)。
設定しましputClientProperty("terminateEditOnFocusLost", Boolean.TRUE)たが、フォーカスを別のコンポーネントに変更しても解決しません。
データを更新する前に行自体を削除しようとしました(すべての行を削除しても)、必ずfireTableRowsDeleted().
cancelCellEditing()また、の関数とstopCellEditing()関数を呼び出してTableCellEditor、編集行/列を別のセルに手動で設定しようとしました。
どんな助けでも大歓迎です。
わかりましたので、私はそれを理解しました。私は最終removeEditor()的にテーブルに電話をかけ、それを修正しました。
回答ありがとうございます。