java - 如何直接从数据库填充数据到Jtable

标签 java swing jdbc jtable

我已经显示 Jtable 取决于数据库中的特定列,我的 jtable 中的最后两列是图像字段。我如何动态更改列而不影响最后两列。请告诉我如何做。

最佳答案

使用 java.util.Collection 中的 Vector

请参阅此示例 http://www.roseindia.com

import java.sql.*;
import java.util.*;
import javax.swing.*;
import javax.swing.table.TableColumn;

public class JTableResultSet {
    public static void main(String[] args) {
        Vector columnNames = new Vector();
        Vector data = new Vector();
        JPanel panel = new JPanel();   //
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection con = DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test", "root", "root");
            String sql = "Select name,address from user";
            Statement statement = con.createStatement();
            ResultSet resultSet = statement.executeQuery(sql);
            ResultSetMetaData metaData = resultSet.getMetaData();
            int columns = metaData.getColumnCount();
            for (int i = 1; i <= columns; i++) {
                columnNames.addElement(metaData.getColumnName(i));
            }
            while (resultSet.next()) {
                Vector row = new Vector(columns);
                for (int i = 1; i <= columns; i++) {
                    row.addElement(resultSet.getObject(i));
                }
                data.addElement(row);
            }
            resultSet.close();
            statement.close();
        } catch (Exception e) {
            System.out.println(e);
        }
        JTable table = new JTable(data, columnNames);
        TableColumn column;
        for (int i = 0; i < table.getColumnCount(); i++) {
            column = table.getColumnModel().getColumn(i);
            column.setMaxWidth(250);
        }
        JScrollPane scrollPane = new JScrollPane(table);        panel.add(scrollPane);               
        JFrame frame = new JFrame();
        frame.add(panel);         //adding panel to the frame
        frame.setSize(600, 400); //setting frame size
        frame.setVisible(true);  //setting visibility true
    }
}

关于java - 如何直接从数据库填充数据到Jtable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946293/

相关文章:

java - 连接远程数据库时出现 JDBC 错误

java - 在 Android Studio 上使用 YouTube Data API v3 获取订阅者数量

java - 如何将 <junit> 任务的工作目录设置为 basedir 以外的目录?

java - JAX-RS boolean 值与整数

java - 是否可以通过简单地调用 java 程序的名称(不带 "java ..")来使 java 程序可执行?

java - 如何将JTextField中的String类型数据分配给变量

java - JAVA Swing中点击一个按钮调用另一个按钮的actionListener

java - 如何接受键盘输入以及来自 JButtons 的输入?

java - 如何使用 jdbc 将数据从 postgresql 导出到 .csv 文件?

java - 字段中的列 ' ' 不明确