java - GUI (java) 中的 jTable 不显示数据库中的所有数据!表模型中的错误?

标签 java sql user-interface jtable

这是最后的手段。我正在研究信息系统开发,甚至我的老师都无法解决这个问题...这是一个让你破解的难题!

这就是问题所在:GUI 中的 jTable 给了我这个:

enter image description here

这是 Microsoft Management Studio 向我展示的内容:

enter image description here

正如您所知,jTable (GUI) 有 2 个主要问题:

  1. 列名“Name”不包含任何信息。应该吗?为什么不显示?

  2. 正如您所知,该表包含多个列,太多甚至无法显示。因此,我想“添加一个限制”进行更改,以便 jTable 仅显示前 6 列。

这是 DataAccessLayer 中“创建表”的代码:

    private TableModel getResultSetAsDefaultTableModel(ResultSet rs) {
    try {

        String[] columnHeadings = new String[0];
        Object[][] dataArray = new Object[0][0];


        ResultSetMetaData md = rs.getMetaData();
        int columnCount = md.getColumnCount();

        for (int i = 1; i <= columnCount; i++) {
            String columnName = md.getColumnName(i);
            columnHeadings = Arrays.copyOf(columnHeadings, columnHeadings.length + 1);
            columnHeadings[i - 1] = columnName;
            }

        int r = 0;

        while (rs.next()) {

            Object[] row = new Object[columnCount];
            for (int i = 1; i <= columnCount; i++) {
                row[i - 1] = rs.getObject(i);
            }

            dataArray = Arrays.copyOf(dataArray, dataArray.length + 1);
            dataArray[r] = row;

            r++;
        }

        DefaultTableModel dtm = new DefaultTableModel(dataArray, columnHeadings) {
            public boolean isCellEditable(int row, int column) {

                return false;
            }
        };

        return dtm;

    } catch (SQLException ex) {

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

    return null;

}

如果您想让我向您展示代码的路径(框架、 Controller ),只需说出来,我就会发布它。

如果有人能解决这个问题,我将非常感激......

问候,

基督教

最佳答案

我认为这是因为在你的 for 循环中应该说 i = 0;而不是i = 1;因为第一个信息(名称)位于索引 0,对吗?

在您的情况下,只需保留 for 循环并更改此行 to:row[i - 1] = rs.getObject(i-1); 就足够了

要隐藏或显示列,您可以调用 setMin setMaxsetPreferredWidth在您的 TableColumn 上。

关于java - GUI (java) 中的 jTable 不显示数据库中的所有数据!表模型中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20655197/

相关文章:

java - 只想要纪元的日期

java - JSON 到 Avro 转换异常 - 预期启动联合。已获取 VALUE_STRING

sql - PowerShell 函数将多个 SQL 查询输出为 CSV

sql - 简单的更新语句,以便为所有行分配不同的值

c# - Entity Framework ,getutcdate()

Java SWT - 如果新的 child 被添加到组合中,听听?

java - vaadin 8 FilesystemContainer 替代方案

java - 如何制作一个操纵另一个程序 ui 的程序

java - Android:单击时图像按钮无故移动

java - 我想在单击时为 gridview 打开新 Activity