我正在使用 netbeans 7.4。我创建了一个 JFrame,它从 mysql 数据库中搜索数据并将结果显示在 JTable 中。我需要让用户能够对结果行进行选择(这里我使用的数据库有一个名为“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 新手。
最佳答案
DbUtils.resultSetToTableModel(res));
这取决于 DbUtils 的作用以及使用的 TableModel。如果您可以添加自己的复选框列,也许 TableModel 支持“addColumn(...)”方法。
如果 TableModel 不支持该功能,则您需要使用不同的 TableModel。您还可以使用 DefaultTableModel。它确实支持 addColumn() 方法,因此您可以将数据从数据库加载到 DefaultTableModel,然后为您的复选框添加一个单独的列。
查看 Table From Database 中的数据库示例中的表
.这是一个将数据从 ResultSet 加载到 DefaoltTableModel 的简单示例。您只需进行一些更改即可添加您自己的 checkboxex 列。基本上您需要做的就是为您的复选框添加另一个列标题到“columnNames” vector 。然后,当您处理 ResultSet 中的每一行时,您需要将 Boolean.false 值添加到“行” vector 。
关于java - 如何将选择列添加到显示搜索结果的 JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22439435/