我正在使用Sun Developer Network上的一篇旧文章中描述的JTreeTable
下面是相同的文件,但针对java6:http://edtaylor80.angelfire.com进行了略微调整
如果你运行这个小的示例程序,你会发现选择是按照预期的方式开始的,当你单击一个随机的单元格时,整行都会被选中。这是我们所期望的行为。但是,一旦节点展开,行为就会发生变化,现在只能通过单击实际节点(名称)来选择一行。我仍然希望能够通过单击任意一个单元格来选择整行。我如何修改源代码来实现这一点?
发布于 2010-01-15 22:53:07
在单击第一列以打开节点之前,没有用于JTable的单元格编辑器。一旦执行了该操作,表就会有一个活动的单元格编辑器,它是作为JTreeTable示例源代码的一部分提供的AbstractCellEditor的实例。在其中的实现中,您会发现:
public boolean shouldSelectCell(EventObject anEvent) { return false; }当BasicTableUI确定是否调整选择时,它会被调用。如您所见,它将始终返回false。这就是为什么,一旦你打开一个节点,你会看到这种奇怪的选择行为。
关于树表的主题,我建议您查看NetBeans的Outline。它是一个易于使用的实现,比Sun的JTreeTable示例要简单得多。您可以在this post中找到链接和演示。
https://stackoverflow.com/questions/2071120
复制相似问题