gpt4 book ai didi

java - 如何在 Java Swing 中创建简单的表格?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:46:45 24 4
gpt4 key购买 nike

我正在使用 Java Swing 开发“医院管理系统”项目。现在在记录页面上,我想以表格格式显示所有存储的患者记录。但我从未在 swing 中使用过 JTable。现在,当我尝试在一个简单的程序中获取记录时,它在 for 循环中在控制台上打印所有记录,但是当我使用 JFrame 并尝试在 JTable 上获取记录时,它没有制作表格,而是显示如下错误消息:

Ex_test.java:51: cannot find symbol, symbol  : constructor JTable(java.lang.String[],java.lang.String[][])
location: class javax.swing.JTable, JTable table=new JTable(column,data);

谁能告诉我我的代码有什么问题?

数据库是 MS-Access 2007。

import javax.swing.*;
import javax.swing.JTable;
import java.awt.event.*;
import java.awt.*;
import java.sql.*;

public class Ex_test extends JFrame
{
public static void main(String[] args)
{
Ex_test ob=new Ex_test();
}
int i=0;
String column[];
String data[][];
//JTable table;
public Ex_test()
{
super("Array");
String[] id=new String[15];
String[] name=new String[15];
String[] contact=new String[15];

try
{
Connection con;
Statement st;
ResultSet rs;

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection("jdbc:odbc:test");
st=con.createStatement();
rs=st.executeQuery("select * from test");
String column[]={"ID","NAME","CONTACT"};
while (rs.next())
{
id[i]=rs.getString("id");
name[i]=rs.getString("sname");
contact[i]=rs.getString("contact");
i++;
}
for (i=0;i<4 ;i++ )
{
System.out.println(""+id[i]+name[i]+contact[i]);
String data[][]={{id[i],name[i],contact[i] }};
}
}
catch (Exception e)
{
}
JTable table=new JTable(column,data);
setSize(1000,1000);
setVisible(true);
}
}

最佳答案

JTable table=new JTable(column,data); // wrong parameters

构造函数希望您将数据指定为第一个参数:

JTable table=new JTable(data, column);

不要使用数组从数据库中读取数据。您不知道制作阵列有多大。而是使用 Vectors,因为 DefaultTableModel 将支持 Vectors。

查看来自 Table From DatabaseTableFromDatabaseExample.java 源代码获取一些通用代码,让您开始使用数据库中的数据填充 JTable。

此外,不要在 SQL 代码中使用空的 catch block 。您应该显示异常。

关于java - 如何在 Java Swing 中创建简单的表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24193404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com