Java Swing autoshow ComboBox弹出窗口

时间:2012-05-31 10:34:41

标签: java swing jython

我正在尝试将自定义组合框作为表格中列的编辑器。为此,我添加了一个自定义编辑器(我根据行填充组合框)。我想在首次显示编辑器时打开组合框(显示下拉列表)。

我添加了一个hirarchy更改侦听器,如下所示(我在Jython中编写,但将Java转换为Jython非常简单,反之亦然):

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

然而,我只看到一个短暂的闪烁,意味着弹出窗口似乎被打开,然后立即再次关闭。如何将其保留在屏幕上?

1 个答案:

答案 0 :(得分:0)

使用

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

帮助。我猜重新聚焦关闭了弹出窗口?