0

我有 2 个 JComboBox,在第一个 JComboBox 上选择一个项目后,第二个从数据库中填充。问题是每次我输入一个字母时都会填充第二个 jcombobox。我想让第二个 jcombobox 等到第一个 jcombobox 中的项目完成输入。

    private void jobCdItemStateChanged(java.awt.event.ItemEvent evt) {                                       
    if (evt.getStateChange() == ItemEvent.SELECTED
            && jobCd.getSelectedItem() != "Select..."
            && jobCd.getSelectedItem().toString().length() > 0) {
        populatePartNoListFilter();
    }
}                                      
4

1 回答 1

1

一些代码将有助于准确了解您在做什么,但我的猜测是您的第一个组合是可编辑的,并且您正在使用在每次击键时调用的事件侦听器填充第二个组合。

根据使用组合可编辑时的文档ActionListener应该可以工作,因为:

当做出选择时,ActionListener将收到一个。ActionEvent如果组合框是可编辑的,那么当编辑停止时会触发一个 ActionEvent。

如果您正在使用 anActionListener但您仍然找不到符合您需要的行为,您可以通过FocusListener在第一个组合上添加 a 并将填充第二个组合的代码移动到其focusLost()方法来填充第二个组合。

如果此选项也不适合您的需求,我建议您阅读不同可用事件的文档,或详细描述您正在寻找的行为,以便有人可能会提出您需要的事件处理建议做。

于 2013-07-16T19:45:39.777 回答