java table设置列名_无法在JTable中显示列名

这个Java程序展示了如何连接到MySQL数据库,执行SQL查询,并将结果填充到JTable中。它使用了JDBC驱动,但在设置JTable列名方面没有明确提及可能的问题或解决方案。
摘要由CSDN通过智能技术生成

我没有遇到任何问题。尝试运行我的代码。替换我的数据库用户名&密码。

import java.awt.HeadlessException;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

/**

*

* @author Masud

*/

public class Test extends JFrame {

public Test() throws HeadlessException {

try {

Class.forName("com.mysql.jdbc.Driver");

Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/zoodb", "root", "12345678");

Statement statement = connection.createStatement();

ResultSet resultSet = statement.executeQuery("select * from ABC");

JTable jTable = new JTable(DbUtils.resultSetToTableModel(resultSet));

JScrollPane pane = new JScrollPane(jTable);

add(pane);

} catch (Exception ex) {

Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);

}

pack();

setVisible(true);

}

public static void main(String[] args){

new Test();

}

}

为了在Java Swing的JTable显示MySQL数据的记录,你需要执行以下步骤: 1. 连接到MySQL数据库:使用JDBC API连接到MySQL数据库。你需要提供MySQL数据库的URL、用户名和密码。 2. 准备SQL查询:使用SQL查询语句从MySQL数据检索数据。 3. 执行SQL查询:执行SQL查询并将结果存储在ResultSet对象。 4. 创建TableModel:TableModel是JTable显示数据的核心。你需要从ResultSet对象检索列名数据,并创建一个DefaultTableModel对象。 5. 创建JTable:使用DefaultTableModel对象创建JTable对象。 6. 添加JTable到JFrame:将JTable对象添加到JFrame。 下面是一个示例代码,它演示了如何在Java Swing的JTable显示MySQL数据的记录: ```java import java.sql.*; import javax.swing.*; import javax.swing.table.*; public class MySQLJTableExample extends JFrame { private JTable table; public MySQLJTableExample() { setTitle("MySQL JTable Example"); setSize(500, 500); setDefaultCloseOperation(EXIT_ON_CLOSE); // 连接到MySQL数据库 String url = "jdbc:mysql://localhost:3306/mydatabase"; String username = "root"; String password = "mypassword"; String query = "SELECT * FROM mytable"; try (Connection connection = DriverManager.getConnection(url, username, password); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query)) { // 创建TableModel DefaultTableModel tableModel = new DefaultTableModel(); ResultSetMetaData metaData = resultSet.getMetaData(); int columnCount = metaData.getColumnCount(); for (int i = 1; i <= columnCount; i++) { tableModel.addColumn(metaData.getColumnName(i)); } while (resultSet.next()) { Object[] row = new Object[columnCount]; for (int i = 1; i <= columnCount; i++) { row[i - 1] = resultSet.getObject(i); } tableModel.addRow(row); } // 创建JTable table = new JTable(tableModel); // 添加JTable到JFrame add(new JScrollPane(table)); } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { new MySQLJTableExample().setVisible(true); } } ``` 这个示例代码连接到名为"mydatabase"的MySQL数据库,用户名为"root",密码为"mypassword"。它从"mytable"表检索所有记录,并在JTable显示它们。你可以根据自己的需要修改代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值