java - DefaultTableModel 不显示列

标签 java swing jtable jscrollpane jtableheader

我的 DefaultTableModel 有问题,它不会向我显示表中的列,有一部分代码:

JTable table = new JTable() {
        public boolean isCellEditable(int data, int columnNames) {
            return false;
        }
    };
    String columnNames[] = new String[] { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian", "asd", "asd" };
    DefaultTableModel dtm = new DefaultTableModel(0, 0);
    dtm.setColumnIdentifiers(columnNames);

    table.setModel(dtm);
for (Reservation r : reservation) {
        rez.add(new Reservation(r.getID(), r.getA(),    r.getB(), r.getC(), r.getD(), r.getE(), r.getF()));

    }

    for (int i = 0; i < rez.size(); i++) {
        int id = rez.get(i).getID();
        String l = rez.get(i).getA();
        String w = rez.get(i).getB();
        String z = rez.get(i).getC();
        String o = rez.get(i).getD();
        String d = String.valueOf(rez.get(i).getE());
        String g = rez.get(i).getF();
        dtm.addRow(new Object[] { id, l, w, z, d,o,g });

    }


    JScrollPane sp = new JScrollPane(dtm);
    add(table);

}

我正在尝试制作一个动态表格。数据将来自使用 hibernate 的数据库 (posgreSQL),这很好,它可以工作,但我看不到

中的列名称
String columnNames[] = new String[] { "First Name", "Last Name", "Sport", "# of Years", "Vegetarian", "asd", "asd" };

不要关心列的名称和 setter/getter 的名称,我在这篇文章中更改了它。

此外,我无法使其可滚动:

JScrollPane sp = new JScrollPane(dtm);

最佳答案

我不确定这将如何编译

JScrollPane sp = new JScrollPane(dtm);
add(table);

dtmDefaultTableModel 的实例,因此永远不可能将其传递给 JScrollPane

相反,你应该使用

JScrollPane sp = new JScrollPane(table);
add(sp);

参见How to Use TablesHow to Use Scroll Panes了解更多详情

关于java - DefaultTableModel 不显示列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421047/

相关文章:

java - 是否可以将数组的 ArrayList 添加到文件中?

java - JTable 行排序器 - 过滤器管理

java - 如何从另一个 netbeans 模块更新 jTable

java - 在java中计算两个 double 的余数

java.lang.reflect.Method#getModifiers 返回有效范围外的标志?

java - 通过同步方法访问的私有(private)类参数是否被视为 'synchronized object' ?

java - 使用哪个文本组件?

java - 安卓|通过电话号码检索联系人照片的最佳方法是什么?

java - 二叉树到JTree?

java - Jtable如何在不同的列中显示来自mysql的数据