我需要向 JTree 添加复选框。自定义 TreeCellRenderer/TreeCellEditor 似乎是正确的方法。到目前为止,我使用了 the CheckBoxNodeRenderer approach in this webpage .它工作正常,除了两件事:
- 复选框上方+下方有额外的空格;我想让它与常规 JTree 保持一致。
- 我想区分单击复选框本身(应尝试切换复选框)和单击与复选框关联的文本(应允许事件监听器将此解释为单击相应的树节点和采取任何适当的行动)
有办法做到这些吗?我四处寻找带有复选框的 JTrees,找不到太多。 JIDE 看起来不错,但在这种情况下我需要使用免费的开源软件(GPL 不行,LGPL 可以)。 (或创建我自己的复选框树)
最佳答案
我知道这个问题已经有人回答了,但我只想澄清几点:
1) JIDE Common Layer 是双重许可的(具有类路径异常(exception)的 GPL 和免费商业许可)。这意味着您可以在没有任何许可问题的情况下使用公共(public)层项目。请检查以下链接以确认:http://www.jidesoft.com/products/oss.htm .公共(public)层包括可检查的 JTree (com.jidesoft.swing.CheckBoxTree) 的实现。
2) Master 本人 Santhosh Kumar 于 2005 年发布了一篇博客,他在其中解释了如何根据您提到的要求实现带有复选框的 JTree:http://www.jroller.com/santhosh/entry/jtree_with_checkboxes .在我看来,这本书值得一读。
关于java - 带复选框的 JTree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1223188/