日期:2014-05-20  浏览次数:20706 次

请问 JTable没有选中,但是里面的 cell有选中是啥情况?谢谢!
Java达人,

请问 JTable没有选中,但是里面的 cell有选中是啥情况?

如下图所示:



如果要指定在 JTable 没有选中的情况下,哪个 cell有这样一个框选中,或者所有的 cell都不可以有这样一个框,

代码应该怎么写?

十分感谢!

------解决方案--------------------
黑锅同学。。
个人觉得JTable是没有Cell这个东西的,所以你这个需求实现起来有点难度。。。
坐等宝宝
------解决方案--------------------
你可以尝试 这个jtable focus失效 就不会有选中cell的现象了
然后 加入 up/down/tab key的 event控制 就可以实现 行选中的操作了

------解决方案--------------------
楼主您能说一下你的这个表格的使用方法么?
如果说新建一行,然后用户修改完Variable的值然后回车,然后再使用add按钮添加行,这个已经满足要求了。
不过我测试出来一个bug。
就是多添加几行,然后任选一行不是最后一行的行使用一次delete按钮,然后add按钮就废了,第一次添加能够添加,但是Variable的值与整体相比对是不正确的,而且再次点击add按钮,会删除刚添加的这一行。即使重复使用add按钮,也只会重复循环这两步操作。
操作:
1、使用add按钮添加3行。
2、选择第2行,点击delete按钮删除该行。——表中剩余2行
3、点击add按钮添加行:结果显示不正确。——表中有3行
4、点击add按钮添加行:结果删除了刚添加的第三行。——表中剩余2行。
5、后面再次点击add按钮,会重复3、4步。
您说的是想解决这个问题么?

我正在研读您的代码,有几个问题能问一下么?
1、这个exist = true;中exist是判断什么的标志位呢?
2、这个select = 0;中,double型的select始终只有1和0两种值,这个标志是做什么的?
3、buttonDel.addActionListener(this);和buttonDel.addActionListener(symListener);这两个是什么关系的?
4、在add按钮的侦听中,有以下一段代码
if (exist == true) {
rowIndex = table.getSelectedRow();
model.removeRow(rowIndex);
select = 0;
buttonDel.setEnabled(false);
}
应该是导致上述bug的主要原因。
5、您所说的“哪个 cell有这样一个框选中,或者所有的 cell都不可以有这样一个框”是想要实现什么样的操作流程呢?