【问题标题】:Deactivate components until an element is selected from JComboBox停用组件,直到从 JComboBox 中选择一个元素
【发布时间】:2012-08-15 07:48:31
【问题描述】:

我正在使用 MySQL 数据库开发 Java swing 应用程序

我需要知道在从JComboBox 中选择一个元素之前是否可以停用组件?我必须知道第一个 jcombobox 的选择来填充第二个JComboBox;第一个选择是第二个外键,像这样:

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

这是我的例子:

【问题讨论】:

    标签: java mysql swing foreign-keys jcombobox


    【解决方案1】:

    当然可以。当您开始工作时,将 setEnabled(false) 呼叫到第二个组合框。并添加到第一个组合框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);
                }
            }
        });
    

    【讨论】:

      【解决方案2】:

      所以在JComboBoxActionListenr 中,只需调用setEnabled 方法,传递false 来禁用它们,或者传递true 来启用它们

      【讨论】:

        【解决方案3】:

        我需要知道在从 jcombobox 中选择一个元素之前是否可以停用组件?

        是的。为什么不是 Component.SetEnabled(false)

        您可能还想查看ItemListener 接口以实现您的目标。这里有更多关于Handling Events on a Combo Box.

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-17
          • 1970-01-01
          • 1970-01-01
          • 2014-07-23
          • 1970-01-01
          相关资源
          最近更新 更多