Swing JTable-为什么不';添加一行后,它不保留表格列吗?
我正在使用JTable:Swing JTable-为什么不';添加一行后,它不保留表格列吗?,swing,jtable,tablemodel,nstablecolumn,Swing,Jtable,Tablemodel,Nstablecolumn,我正在使用JTable: public class MyPanel extends JPanel { public MyPanel () { init() } init () { DataModel model = new DataModel(); JTable table = new JTable (model); TableColumnModel tcm = agentsTable.getColumnModel(); tcm.getColumn(FIRST).s
public class MyPanel extends JPanel {
public MyPanel () {
init()
}
init () {
DataModel model = new DataModel();
JTable table = new JTable (model);
TableColumnModel tcm = agentsTable.getColumnModel();
tcm.getColumn(FIRST).setPreferredWidth(15);
tcm.getColumn(SECOND).setPreferredWidth(100);
tcm.getColumn(THIRD).setPreferredWidth(200);
JScrollPane scroller = new JScrollPane();
scroller.getViewport().add(table);
this.add(scroller, BorderLayout.CENTER);
}
}
public class DataModel extends AbstractTableModel {
public final static int FIRST = 0;
public final static int SECOND = 1;
public final static int THIRD= 2;
...
}
问题是每次我向模型中添加一行时,TableColumnModel似乎会返回默认值,并且所有列的宽度都相同打赌您的自定义TableModel会在插入时触发结构更改:-),这是不正确的,请改用。@kleopatra您的开始括号
(
未关闭~!:p获取列模型时,您为什么使用agentsTable
呢?您的表名为table
。复制代码时出错了吗?复制我的表时出错了code@AdiMor-好吧,我输了,错误在别处:-)展示SSCCE@trashgod-谢谢你添加链接!刚刚又删除了那个难看的灰色背景,这损害了阅读流程(我的,至少:-)