【发布时间】:2013-04-30 21:09:51
【问题描述】:
我想在 JTable 中显示一些东西。
问题在于 JTable 列名是“A”、“B”、“C”、...
我的代码是这样的:
import javax.swing.JTable;
public class View extends JFrame implements Observer {
private JTable contentTable;
public View() {
...
String[][] s = {{"test","test","test", "test}};
String[] columnNames = { "Name", "Category", "Start", "End" };
this.contentTable = new JTable(new MyTableModel(columnNames, s));
this.contentPanel.add(new JScrollPane(this.contentTable));
...
}
}
这里是 MyTableModel 类
import javax.swing.table.AbstractTableModel;
public class MyTableModel extends AbstractTableModel {
private String[] columnNames;
private Object[][] data;
public MyTableModel(String[] columns, Object[][] dat){
this.columnNames = columns;
this.data = dat;
}
...
}
如果我不使用 TableModel,它可以工作 f.e.:this.contentTable = new JTable(s, columnNames);,但是如果有一些新数据,我不知道如何更改表...这就是我使用的原因一个 TableModel。
不知道为什么不显示列,但显示数据...
亲切的问候!
【问题讨论】:
-
这个问题无法回答,感觉就像给我代码一样,请阅读Oracles JTable tutorial,然后用SSCCE 编辑您的问题,简短、可运行、可编译,只是关于带有JTable 的JFrame在 JScrollPane 内,
-
"A", "B", "C" 是 API 中实现的默认值,在 JTableHeader 的值不可访问的情况下
-
@mKorbel 我制作了 SSCCE,但现在得到了答案,所以我不会添加它...谢谢您的提示..
标签: java swing jtable abstracttablemodel jtableheader