有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java填充表格?

我有一个DAO,它返回数据库的一些信息。我想在表格中显示这些信息,但不起作用。信息不显示

我正在试这个

//DAO
public class CustomerDAO {
     private Connection con = connection.getConnection();
     public List<Customer> getCustomer(){
          List<Customer> list = new ArrayList<Customer>();
          PreparedStatement stm = this.con.prepareStatement("SELECT * FROM customer");
          ResultSet rs = stm.executeQuery();
          while(rs.next()){
               Customer c = new Customer();
               c.setName(rs.getString("name"));
               list.add(c);
          }
          return list;
     }
}

// customer view
public class CustomerView extends CustomComponents{
     private Table table;
     private List<Customer> list;

     public CustomerView(){
          table = new Table();
          table.setSizeFull();
          tabela.addContainerProperty("Customer", String.class, null);
          getCustomer();
     }

     /** populate table */
     private void getCustomer(){
        list = new CustomerDAO().getCustomer();
        if(!list.isEmpty()){
            for(Customer c : list){
                 table.addItem(new Object[]{c.getName()}, 1);
            } 
        }
     }
}

有什么想法吗


共 (1) 个答案

  1. # 1 楼答案

    你的getCustomer()方法没有完全正确地实现

    试试看:

    private void getCustomer() {
        list = new CustomerDAO().getCustomer();
        if(!list.isEmpty()){
            for(Customer c : list){
                 table.addItem(new Object[] { c.getName() }, null);
            } 
        }
     }
    

    您可以找到方法描述here

    另一个解决方案:

    private void getCustomer() {
        list = new CustomerDAO().getCustomer();
        if(!list.isEmpty()){
            for(Customer c : list){
                Object addItem = table.addItem();
                table.getItem(addItem).getItemProperty("Customer").setValue(c.getName());
            } 
        }
     }