更新时间:2023-12-04 10:27:34
你必须实现 TableCellEditor 并覆盖 getTableCellEditorComponent ,就像这样
You have to implement TableCellEditor and override getTableCellEditorComponent like this
public java.awt.Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
{
return new JRadioButton();
}
希望这会有所帮助
编辑:
您可以这样写
You can write like this
this.jTable1.getColumnModel().getColumn(0).setCellEditor(new javax.swing.table.TableCellEditor(){
@Override
public java.awt.Component getTableCellEditorComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, int row, int column) {
return new javax.swing.JRadioButton();
}
@Override
public java.lang.Object getCellEditorValue() {
return null;//Here you can return the radio button status
}
@Override
public boolean isCellEditable(java.util.EventObject anEvent) {
return false; //uneditable cell
}
@Override
public boolean shouldSelectCell(java.util.EventObject anEvent) {
return false;
}
@Override
public boolean stopCellEditing() {
return true;
}
@Override
public void cancelCellEditing() {
}
@Override
public void addCellEditorListener(javax.swing.event.CellEditorListener l) {
}
@Override
public void removeCellEditorListener(javax.swing.event.CellEditorListener l) {
}
});
您可以将单元格编辑器实现取出到单独的类中。
You can take out the cell editor implementation to a separate class.
此外,您必须根据您的要求设置标志。
Also you have to set the flags accordingly to your requirement.