将用户数据查询到table容器中,显示到界面
时间: 2024-03-11 15:48:33 浏览: 60
好的,你想要将查询到的用户数据显示到Java GUI界面的table容器中,是吗?下面是一个简单的示例代码,可以帮助你实现这个功能:
```java
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class MyFrame extends JFrame {
private JTable table;
private DefaultTableModel model;
public MyFrame() {
// 创建GUI界面,包括一个table容器和一个查询按钮
table = new JTable();
model = new DefaultTableModel();
model.addColumn("学号");
model.addColumn("姓名");
model.addColumn("年龄");
table.setModel(model);
JScrollPane scrollPane = new JScrollPane(table);
getContentPane().add(scrollPane, BorderLayout.CENTER);
JButton button = new JButton("查询");
getContentPane().add(button, BorderLayout.SOUTH);
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
// 当用户点击查询按钮时,从数据库中读取数据并显示在table容器中
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "password");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM YourName_Register");
while (rs.next()) {
String sno = rs.getString("YourName_Username");
String name = rs.getString("YourName_Name");
int age = rs.getInt("YourName_Age");
Object[] row = { sno, name, age };
model.addRow(row);
}
rs.close();
stmt.close();
conn.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
});
pack();
}
public static void main(String[] args) {
MyFrame frame = new MyFrame();
frame.setVisible(true);
}
}
```
在这个示例代码中,我们创建了一个JTable对象,并使用DefaultTableModel对象作为其数据模型。然后,我们在查询按钮的ActionListener中,通过JDBC从MySQL数据库中读取数据,并使用model.addRow()方法将每一行数据添加到table容器中。最后,我们将table容器添加到GUI界面中,并显示出来。
当你运行这个程序时,你会看到一个GUI界面,包含一个table容器和一个查询按钮。当你点击查询按钮时,程序会从MySQL数据库中读取数据,并将其显示在table容器中。
希望这个示例代码能够帮助你完成你的任务。
阅读全文