取消激活组件,直到从JComboBox中选择一个元素

时间:2012-08-15 07:48:31

标签: java mysql swing foreign-keys jcombobox

我正在使用MySQL数据库

开发Java swing应用程序

我需要知道是否可以停用组件,直到从JComboBox中选择一个元素?我必须知道第一个jcombobox的选择来填补第二个JComboBox;第一个选择是2号外键,就像那样:

ResultSet res = st.executeQuery("SELECT NomF FROM famille_de_type");
while (res.next()) {
    comboBox_Fam_innewT.addItem(res.getString(1));                
}

这是我的例子:

example

3 个答案:

答案 0 :(得分:2)

当然,你可以。当您开始工作时,将setEnabled(false)调用到第二个comboBox。并添加到第一个组合框ItemListener。这将是听取项目选择。

firstComboBox.addItemListener(new ItemListener()
    {
        public void itemStateChanged(ItemEvent e)
        {
            if (e.getStateChange()==ItemEvent.SELECTED)
            {
                Object selectedItem = e.getItem(); // new item selected
                // TODO select values for 2nd combobox
                // TODO fill 2nd combobox
                secondComboBox.setEnabled(true);
            }
        }
    });

答案 1 :(得分:1)

  

我需要知道我是否可以停用组件,直到从jcombobox中选择一个元素?

YES。为什么不组件。SetEnabled(false)

此外,您可能需要查看ItemListener界面以实现目标。以下是Handling Events on a Combo Box.

的更多信息

答案 2 :(得分:1)

因此,在ActionListenr的{​​{1}}中,只需调用JComboBox方法,传递setEnabled即可停用它们,或false启用它们