首页 > 解决方案 > 使用鼠标单击选择 jCombobox 项

问题描述

我正在使用 NetBeans GUI 调色板在 java 中设计我的应用程序。

我也在使用 AutocompleteDecoratorJComboBox并且效果很好。

当程序第一次运行时,我使用我的数据库中的数据填充我JComboBox,但问题是我无法使用鼠标单击我JComboBox来填充我JTable从我的JComboBox. 它似乎不起作用。

我试过使用一个ActionEventbut 对于我输入的每个字母,它在我JTable的连续行中填充了相同的项目。我也尝试过使用StateChanged事件,但它与ActionEvent.

我想要实现的是输入我的可编辑JComboBox内容,它会为我自动完成,然后单击我想要的项目并在我的JTable.

除了鼠标点击部分,请不要一切正常。

您的帮助将不胜感激。下面的示例代码:

addresultOnTable()填充我的JTable

public void addDatabaseToComboBox() throws Exception {
    try{
        Class.forName("org.apache.derby.jdbc.ClientDriver");
        java.sql.Connection con = DriverManager.getConnection("jdbc:derby:C:\\Program Files\\ERS\\Database\\EmployeeDB", "axle","axle");
        String list = "Select * from STOCKSTABLE";
        PreparedStatement pst4;
        ResultSet rs4;
        pst4 = con.prepareStatement(list);
        rs4 = pst4.executeQuery();
        while(rs4.next()){
            int n = 1;
            //String name = rs4.getString(n);
            jComboBoxTest.addItem(rs4.getString(n));
            n++;
        }
        jComboBoxTest.setSelectedIndex(-1);
        System.out.println("Passed!");
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(MainMenu.class.getName()).log(Level.SEVERE, null, ex);
    }
}

private void jComboBoxTestMouseClicked(java.awt.event.MouseEvent evt) {                                           
    try {
        addResultOnTable();
    } catch (Exception ex) {
        Logger.getLogger(TestPanel.class.getName()).log(Level.SEVERE, null, ex);
    }
}

标签: javaswingjcomboboxmouseclick-event

解决方案


推荐阅读