0

テーブル内の列のエディターとしてカスタム コンボボックスを使用しようとしています。このために、カスタム エディターを追加しました (行に応じてコンボボックスに入力します)。エディターが最初に表示されたときに、コンボボックスを開いた (ドロップダウンを表示した) ようにします。

次のように階層変更リスナーを追加しました (私は Jython で書いていますが、Java を Jython に、またはその逆に変換するのは非常に簡単です)。

class _comboboxShow(HierarchyListener):
    def hierarchyChanged(self, event):
        if event.changeFlags & HierarchyEvent.SHOWING_CHANGED and \
           event.component.isShowing():
                event.component.showPopup()

ただし、短いちらつきしか見られません。つまり、ポップアップが開いたように見え、すぐに閉じられます。画面に表示し続けるにはどうすればよいですか?

4

1 に答える 1

0

代わりに FocusListener を追加する

class _comboboxShow(FocusAdapter):
    def focusGained(self, event):
        event.component.showPopup()

助けた。再フォーカスによりポップアップが閉じたと思いますか??

于 2012-05-31T10:46:00.903 に答える