Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单击jComboBox中的值时自动填充文本字段_Java_Sql_Swing_Jcombobox - Fatal编程技术网

Java 单击jComboBox中的值时自动填充文本字段

Java 单击jComboBox中的值时自动填充文本字段,java,sql,swing,jcombobox,Java,Sql,Swing,Jcombobox,大家晚上好 我一直在开发一个简单的仓库/库存管理系统,该系统连接到一个mySql数据库。该数据库中的一个表(OESCODE)包含有关物品所在仓库区域(“区域”)的信息以及相应的数值(“代码”)。例如,小商品为1,长商品为2等 在GUI中,我有一个jCombobox,允许您选择区域,其思想是在下面有一个文本字段来显示相应的数值。 下面是我的意思的截图: 这是标记为Hal(halCombo)和OES(oesTxt)代码的字段。 相应的代码: private void pickHalComboPop

大家晚上好

我一直在开发一个简单的仓库/库存管理系统,该系统连接到一个mySql数据库。该数据库中的一个表(OESCODE)包含有关物品所在仓库区域(“区域”)的信息以及相应的数值(“代码”)。例如,小商品为1,长商品为2等

在GUI中,我有一个jCombobox,允许您选择区域,其思想是在下面有一个文本字段来显示相应的数值。 下面是我的意思的截图:

这是标记为Hal(halCombo)和OES(oesTxt)代码的字段。 相应的代码:

private void pickHalComboPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {                                                              
    String fill = (String) halCombo.getSelectedItem();
    String query = "SELECT * FROM OESCODE WHERE AREA=?";
    try {
        pst = conn.prepareStatement(query);
        pst.setString(1, fill);
        rs = pst.executeQuery();
        if (rs.next()) {
            String code = rs.getString("CODE");
            oesTxt.setText(code);

        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}  
不过这里有一个问题:上面的字段(标记为Artiekelcode、Omschrijving和Eenheid)与我上面描述的完全一样。例如,当我单击Artiekelcode字段中的值时,Omschrijving和eenhide字段会自动填充相应的值(当然,来自不同的数据库表)

下面是代码:

private void pickArticleComboPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {                                                              
    String fill = (String) pickArticleCombo.getSelectedItem();
    String query = "SELECT * FROM STAMDATA WHERE ARTIKELNUMMER=?";
    try {
        pst = conn.prepareStatement(query);
        pst.setString(1, fill);
        rs = pst.executeQuery();
        if (rs.next()) {
            String desc = rs.getString("OMSCHRIJVING");
            String eenh = rs.getString("EENHEID");
            eenheidTxt.setText(eenh);
            pickDescriptionTxt.setText(desc);

        }
    } catch (Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}                 
所以在过去的几个小时里,我一直在试图弄清楚为什么它在上面的字段上有效,而不是在下面的字段上,因为这两个原则是相同的

如有任何想法,将不胜感激


提前谢谢

看来我已经明白了。似乎PopupMenuWillBecomeInvisible方法没有被使用,所以我创建了它,并再次调用它,它成功了。“看起来我已经找到了答案。”很高兴你把它整理好了。对于这个问题,两个行动方案中的一个比在评论中报道成功要好。1) 在下面输入更完整的答案,然后在网站允许的情况下接受答案。2) 删除标签下方带有链接的问题(向左)。