我想从数据库ID添加组合框索引.public static void selectCompany(javax.swing.JComboBox cmbCategory ){cmbCategory.removeAllItems();String sql=SELECT * FROM company_details;try{Connection conn=dbConnecti...
                
我想从数据库ID添加组合框索引.
 public static void selectCompany(javax.swing.JComboBox cmbCategory ){
    cmbCategory.removeAllItems();
    String sql="SELECT * FROM company_details";
    try{
        Connection conn=dbConnection();
        PreparedStatement pstmt=conn.prepareStatement(sql);
        ResultSet rs=pstmt.executeQuery(sql);
        while(rs.next()){
            int id=rs.getInt("company_id");
            String category=rs.getString("company_name");
            cmbCategory.addItem(id);
            cmbCategory.addItem(category);
        }
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}
cmbCategory是组合框对象.我想将组合框索引和组合框列表显示为类别名称.数据库是mysql.
解决方法:
您可以将对象添加到ComboBox,而不仅仅是字符串,所以这样的事情应该可以解决问题:
    while(rs.next()){
        int id=rs.getInt("company_id");
        String category=rs.getString("company_name");
        Object[] itemData = new Object[] {id, category};
        cmbCategory.addItem(itemData);
    }
正如Harry Joy指出的那样,你可以通过使用ListCellRenderer告诉swing如何渲染这个元素:
class MyListRenderer extends JLabel implements ListCellRenderer {
    @Override
    public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
        Object[] itemData = (Object[])value;
        setText((String)itemData[1]);
        return this;
    }
}
您可以稍后分配给JComboBox:
cmbCategory.setRenderer(new MyListRenderer());
通过这样做,您具有在一个对象中同时具有ID和类别名称的明显优势,因此当用户选择组合框中的项目时,您可以访问此对象的所有属性(ID和名称!).
				 沃梦达教程
				
			本文标题为:如何在java中将数据库ID添加为组合框索引?
				
        
 
            
        
             猜你喜欢
        
	     - Springboot项目中内嵌sqlite数据库的配置流程 2023-01-13
 - SpringMVC请求数据详解讲解 2023-03-21
 - jsp request.getParameter() 和request.getAttribute()方法区别详解 2023-07-30
 - SpringBoot文件上传功能的实现方法 2023-04-17
 - Reactor 多任务并发执行且结果按顺序返回第一个 2023-05-25
 - Java9中新增的Collector收集器 2022-12-16
 - Java内存泄露 2023-10-08
 - Spring boot 使用QQ邮箱进行一个验证登入功能 2023-06-16
 - 使用Spring中的scope配置和@scope注解 2023-01-02
 - Java+mysql实现学籍管理系统 2023-03-16
 
						
						
						
						
						
				
				
				
				