我很清楚做错了什么。我的猜测是组件,但这是问题所在。这是我的单元格渲染器:
public class WildcardCellRenderer implements TableCellRenderer {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int rowIndex, int vColIndex) {
JTextField c = new JTextField();
c.setBorder(javax.swing.BorderFactory.createEmptyBorder());
if(vColIndex == 2){
if((Integer)value == 0) c.setText("No") ;
else c.setText("Si");
} else c.setText(value.toString());
return c;
}
}
这就是我在面板中设置的方式:
this.table.setDefaultRenderer(Object.class, new WildcardCellRenderer() );
问题是当我设置这个渲染器时,行变得不可选择。我应该使用不同的组件来显示我需要显示的内容吗?基本上我将 0/1 值显示为 No/Yes 值。