且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在JTable Netbeans中插入Radiobuttons

更新时间: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.