我的 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);
dtm
是 DefaultTableModel
的实例,因此永远不可能将其传递给 JScrollPane
,
相反,你应该使用
JScrollPane sp = new JScrollPane(table);
add(sp);
参见How to Use Tables和 How to Use Scroll Panes了解更多详情
关于java - DefaultTableModel 不显示列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28421047/