有没有办法更新JTable
上的当前DefaultTableModel
?为了澄清我的意思,我将在下面使用一些代码示例。更新当前JTable模型
,如果有一种方法可以做到类似这样
myTable.java
public class myTable extends JTable {
private static final long serialVersionUID = -5819940358496590055L;
public myTable(TableModel dM) {
setModel(dM);
}
public myTable(Object[][] tableData, Object[] columnHeaders) {
this(new DefaultTableModel(tableData, columnHeaders));
}
public void setEditable(boolean b) {
DefaultTableModel model = (DefaultTableModel) this.getModel();
//Do some code here to make the editable or uneditable
setModel(model);
}
}
someJavaFile东西,你可能会宣布一个JTable这样
DefaultTableModel model = new DefaultTableModel(tableData, tableHeaders)
{
private static final long serialVersionUID = 8785594035471551113L;
@Override
public boolean isCellEditable(int row, int column)
{
return false;
}
};
JTable table = new JTable(model);
panel.add(table);
我问.java
JTable table = new myTable(tableData, tableHeaders);
table.setEditable(false);
panel.add(table);
我不是要求你为我做这件事,而是我要求你帮助我找到一种方法更新当前DefaultTableModel
。
我感谢所有帮助
编辑澄清
我试图找到一种方式来操作当前DefaultTableModel
上JTable中的东西,如表是否可编辑或不作为有没有支持切换表格是否可以在模型制作后编辑的方法。只有isCellEditable()
。
为什么这会有用?
如果你想操作表上的ActionListener
的工作方式这将是有用的一个JButton
或类似的东西
保留对当前'DefaultTableModel'的引用。它有你需要更新的所有方法。 –
@AndrewThompson你可以扩展它对于这个具体的例子有什么帮助,因为没有'model.setEditable()' – Dan
你想让一些单元格不可编辑或者什么? – Frakcool