JTable中按钮的状态切换

By
写代码

Hi 爱尾巴第,过年结束,苦逼的工作愉快哦。短暂的假期一睡就没了,刚准备起身看看风景就又要坐火车框迟框迟回来上班了。长假后上班不适应综合症搞的头晕脑胀眼睛疼,这几天刚刚恢复过来,然后问题也接踵而至。在愤怒修改了半天之后,稍微总结一下,如果对java,swing什么的没兴趣,请默默留言之后关闭页面即可。

原理

如上篇(为JTable每行按钮单独设定点击状态)所述,JTable在定义cell的时候,提供了render和editor两个类供继承。前者负责普通状态,后者负责编辑状态(editable为true时有效)。

这两个类分别有接口来负责状态的展示:

TableCellEditor

  
TableCellRenderer

所以只要修改这两个,就可以控制cell的普通状态展示和编辑状态展示了。

同时,TableCellEditor继承自CellEdiotor,该类提供了几个接口,来更改cell的编辑状态,可以通过stopCellEditing()来关闭该cell的可编辑状态。

代码实现

具体到按钮状态的切换,就需要改变下面两个地方:

1.TableCellRenderer

在一般状态时,供获取按钮使用。

2.AbstractCellEditor

stopCellEditing用于停止table中按钮的编辑状态,特别是在选中按钮时,也可以改变按钮状态。

Comments: 2

  1. 大神知道怎么把wordpress的twentyfifteen的主题的标题的竖线连接符“|”改成其它字符吗?

    2015年03月05日
  2. 默默的看完了,也默默的不知道该怎么说。呵呵,烦躁啊。

    2015年03月06日

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

:razz: