java - 带复选框的 JTree

标签 java swing checkbox jtree

我需要向 JTree 添加复选框。自定义 TreeCellRenderer/TreeCellEditor 似乎是正确的方法。到目前为止,我使用了 the CheckBoxNodeRenderer approach in this webpage .它工作正常,除了两件事:

  1. 复选框上方+下方有额外的空格;我想让它与常规 JTree 保持一致。
  2. 我想区分单击复选框本身(应尝试切换复选框)和单击与复选框关联的文本(应允许事件监听器将此解释为单击相应的树节点和采取任何适当的行动)

有办法做到这些吗?我四处寻找带有复选框的 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/

相关文章:

java - 如何制作 if 语句来检查所有或仅一个文本字段是否为空

java - JDialog 出现时没有任何内容

php - 提交后未从复选框获取值

php - 如何在 ChoiceType Symfony Form Builder 中默认选中一些复选框选项?

javascript - 如何在复选框单击时停止事件冒泡

java - RestEasy - 参数绑定(bind) - 验证和错误 - EJB

java - 如何在解析复杂 XML 时尽量减少 XMLStreamReader 中 if else if 的使用

java - 将监听器与线程一起使用

Java邮件: Only one part of the message is retrieved/Parsing error/Badly formatted mail

java - 为什么 setBackground 到 JButton 不起作用?