如何将选择列添加到显示搜索结果的JTable

时间:2014-03-16 16:21:52

标签: java mysql swing jtable selection

我正在使用netbeans 7.4。我创建了一个JFrame,它从mysql数据库中搜索数据并在JTable中显示结果。我需要让用户能够对结果行进行选择(这里我使用的数据库有一个名为&#34的表; Vehicle_R"其中包含有关车辆的数据。因此用户应该能够选择一个车辆)。 这是我的编码

public class CreateConnection {
Connection con;
Statement statmnt;

public CreateConnection() {
    try{
    this.con =DriverManager.getConnection("jdbc:mysql://localhost:3306/vehiclereserve","root","nadun");

    statmnt=con.createStatement();
    }
    catch(SQLException e)
    {System.out.println(e.toString());}
}
public Connection getCon()
{
    return con;
}
public Statement getStatement()
{
    return statmnt;
}

在我得到的主要

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   try{
    CreateConnection con=new CreateConnection();
    ResultSet res=con.getStatement().executeQuery("select * from Vehicle_R");
    jTable1.setModel(DbUtils.resultSetToTableModel(res));      //rs2xml.jar library added
    //TableColumn tc=new TableColumn();
    //jTable1.addColumn(tc);



   }
catch (SQLException e)
   {
       JOptionPane.showMessageDialog(null, e.toString(), "ERROR", JOptionPane.ERROR_MESSAGE);
   }

应添加一个新列,并带有复选框以进行选择。请在java中考虑我是新手。

1 个答案:

答案 0 :(得分:1)

DbUtils.resultSetToTableModel(res));      

这取决于DbUtils的作用以及TableModel的用途。也许TableModel支持" addColumn(...)"方法是否可以添加自己的复选框列。

如果TableModel不支持该功能,那么您需要使用不同的TableModel。您还可以使用DefaultTableModel。它支持addColumn()方法,因此您可以将数据从数据库加载到DefaultTableModel中,然后为您的复选框添加单独的列。

Table From Database查看Table From Database Example。这是将ResultSet中的数据加载到DefaoltTableModel的简单示例。您只需进行一些更改即可添加您自己的checkboxex列。基本上你要做的就是在" columnNames"中添加另一个列标题。矢量为您的复选框。然后,当您处理ResultSet中的每一行时,您需要将一个Boolean.false值添加到"行"矢量。