Java 如何在jXTable中控制单元格编辑
如何在JXTable中使某些单元格可编辑而其他单元格不可编辑? 我正在从数据库中检索要映射到表中的信息。 有些信息非常关键,我不希望用户篡改。不可编辑的单元格不显示任何映射信息Java 如何在jXTable中控制单元格编辑,java,swing,swingx,Java,Swing,Swingx,如何在JXTable中使某些单元格可编辑而其他单元格不可编辑? 我正在从数据库中检索要映射到表中的信息。 有些信息非常关键,我不希望用户篡改。不可编辑的单元格不显示任何映射信息 jXTable1 = new org.jdesktop.jXTable(){ Class[] types = new Class [] { java.lang.Object.class, java.lang.Object.class,java.lang.Object.class, java.la
jXTable1 = new org.jdesktop.jXTable(){
Class[] types = new Class [] {
java.lang.Object.class, java.lang.Object.class,java.lang.Object.class, java.lang.Object.class
};
boolean[] canEdit = new boolean [] {false, true, true, true};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
};
你可能会问我为什么不使用jTable而不是jXTable,但我急于使用swingx而不是通常的swing
下面的代码在使用jTable(javax.swing.jTable)时可以工作,但是当我在jXTable上实现它时,不可编辑的列不会显示信息
jXTable1 = new org.jdesktop.jXTable(){
Class[] types = new Class [] {
java.lang.Object.class, java.lang.Object.class,java.lang.Object.class, java.lang.Object.class
};
boolean[] canEdit = new boolean [] {false, true, true, true};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
};
AFAICT还调用了
TableModel
的TableModel.isCellEditable
实现。在设置中检查这是否为可编辑单元格返回true。AFAICTTableModel.isCellEditable
也会调用TableModel
的实现。在设置中检查可编辑单元格是否返回true。