JComboBox を使用してテーブル セルの文字列値を変更する次のコードに問題があります。JComboBox は正常に動作しますが、ボックスをクリックしてから何も選択せずにクリックすると、行を削除しても JComboBox のドロップダウンが表示されたままになります。JButton などの別の Swing コンポーネントをクリックすると、そのコンポーネントが消えてしまうことがよくありますが、常にではありません。
TableColumn col = myTable.getColumnModel().getColumn(0);
JComboBox eq = new JComboBox();
eq.addItem("==");
eq.addItem("!=");
DefaultCellEditor editor = new DefaultCellEditor(eq);
col.setCellEditor(editor);
編集:以前に設定したことを忘れていました:
myTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);
この行をコメントアウトするか false に設定すると、他の Swing コンポーネントをクリックしてもボックスが消えることはありません。それを入れて、フォーカスのあるものをクリックすると、ボックスが消え、問題が軽減されますが、動作の原因が隠される可能性があります.
ここで何か間違ったことをしていますか、それとも手順を忘れていますか? または、強制的に閉じる方法はありますか?
ありがとう!