Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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_Eclipse_Swing_Jdbc_Jcombobox - Fatal编程技术网

Java 尝试使用数据库中的整数值填充JComboBox。代码中有什么错误?

Java 尝试使用数据库中的整数值填充JComboBox。代码中有什么错误?,java,eclipse,swing,jdbc,jcombobox,Java,Eclipse,Swing,Jdbc,Jcombobox,我正在建立一个图书馆管理系统。我在问题表中的book_ID值为int。如何将它们添加到组合框中。每个学生都有好几本书。我想添加组合框来选择要在ReturnBook类中使用的特定书籍 JComboBox<Integer> bookID = new JComboBox<Integer>(); bookID.addMouseListener(new MouseAdapter() { public void mousePr

我正在建立一个图书馆管理系统。我在问题表中的book_ID值为int。如何将它们添加到组合框中。每个学生都有好几本书。我想添加组合框来选择要在ReturnBook类中使用的特定书籍

 JComboBox<Integer> bookID = new JComboBox<Integer>();
            bookID.addMouseListener(new MouseAdapter() {
                public void mousePressed(MouseEvent e) {
                    ArrayList<Integer> books  = new ArrayList<Integer>();
                    String query = "SELECT Book_ID FROM Issue where Student_ID=?";
                    try {
                        pst = conn.prepareStatement(query);
                        rs = pst.executeQuery(query);
                        while(rs.next()){
                            int id = rs.getInt("Book_ID");
                            books.add(id);
                        }
                        rs.close();
                    } catch (SQLException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                    // populate the combo box
                    DefaultComboBoxModel<Integer> model = new DefaultComboBoxModel<Integer>((Integer[]) books.toArray());
                    bookID.setModel(model);
                }
            });
            bookID.setBounds(467, 53, 163, 26);
            contentPane.add(bookID);
JComboBox bookID=newjcombobox();
bookID.addMouseListener(新的MouseAdapter(){
公共无效鼠标按下(MouseEvent e){
ArrayList books=新建ArrayList();
String query=“从学生ID=?”所在的问题中选择图书ID”;
试一试{
pst=conn.prepareStatement(查询);
rs=pst.executeQuery(查询);
while(rs.next()){
int id=rs.getInt(“Book_id”);
图书。添加(id);
}
rs.close();
}捕获(SQLException e1){
//TODO自动生成的捕捉块
e1.printStackTrace();
}
//填充组合框
DefaultComboxModel=newDefaultComboxModel((整数[])books.toArray());
bookID.setModel(model);
}
});
簿记编号.立根(467,53,163,26);
contentPane.add(bookID);

不要在
JComboBox
上使用
鼠标听筒,用户使用键盘来执行此操作。问题是,为什么要等到用户尝试激活组合框后再填充它?为什么不在知道学生id后填充它?这就提出了一个问题,您什么时候将学生id绑定到查询参数?我使用学生id填充学生数据文本字段,但在同一查询过程中找不到将图书id值添加到组合框的方法。所以尝试了这个方法。您从未绑定“student\u id”参数。加载学生详细信息后,我建议先加载书籍详细信息,然后使用搜索按钮将学生详细信息(如姓名、学期)添加到JTextField中。表单的第二部分包含将返回的书籍详细信息。问题是我为同一个学生ID发行了多本书。这就是我被困的地方。我选择添加组合框来选择用于填充书籍详细信息的书籍ID。现在我不知道如何用整数值填充组合框。这就是我需要帮助的地方。