我有一个包含多个列的表,其中包含复选框。有时,我的代码需要删除列并创建新列。当我通过以下代码
执行此操作时int columnscount = myTable.getColumnCount();
//remove the columns
for(int i=2;i<columnscount;i++){
myTable.getColumn(2).dispose();
}
删除所有列,但不删除复选框。如何删除编辑器组件?它们是使用此代码
创建的TableEditor editor = new TableEditor (myTable);
editor.minimumWidth = checkButton.getSize().x;
editor.horizontalAlignment = SWT.CENTER;
editor.setEditor(checkButton, ti, colCheckCount);
答案 0 :(得分:2)
从Swing的JTable
中删除列的正确方法是调用removeColumn
方法:
table.removeColumn(table.getColumnModel().getColumn(0));
但要小心,因为这只会从视图中删除列而不删除基础数据。
答案 1 :(得分:1)
我决定改变我的方式。我没有删除我的列,而是放弃了整个表并重新创建它。效果很好。