带有复选框的JTree


问题内容

我需要将复选框添加到JTree。自定义TreeCellRenderer /
TreeCellEditor似乎是正确的方法。到目前为止,我在此网页中使用了CheckBoxNodeRenderer方法。除了两件事,它可以正常工作:

  1. 复选框上方+下方有额外的空格;我想使其与常规JTree相同。
  2. 我想区分单击复选框本身(应尝试切换复选框)和单击与复选框相关联的文本(应允许事件侦听器将此解释为单击相应的树节点并采取任何措施)之间合适)

有办法做这些事吗?我到处寻找带有复选框的JTree,找不到太多。JIDE看起来不错,但是在这种情况下,我需要使用免费的开源软件(GPL不好,LGPL可以)。(或创建自己的复选框树)


问题答案:

对于#2,您可以使面板成为编辑器/渲染器,并添加带有复选框的标签-标签将是文本,而复选框将不会添加文本。