Java 复选框节点渲染器
我需要实现一个自定义树单元渲染器。 我的规范是只有一个复选框节点和父节点的文本,而不是默认树单元渲染器中使用的文件夹图标 我通过以下代码片段实现了它Java 复选框节点渲染器,java,swing,Java,Swing,我需要实现一个自定义树单元渲染器。 我的规范是只有一个复选框节点和父节点的文本,而不是默认树单元渲染器中使用的文件夹图标 我通过以下代码片段实现了它 public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) { JL
public Component getTreeCellRendererComponent(JTree tree, Object value,
boolean selected, boolean expanded, boolean leaf, int row,
boolean hasFocus) {
JLabel l = (JLabel)renderer.getTreeCellRendererComponent(
tree, "", true, expanded, leaf, row, true);
l.setIcon(null);
l.setText(value.toString());
panel.removeAll();
panel.add(this, BorderLayout.WEST);
panel.add(l);
return panel;
}
结果的屏幕截图如下所示。
现在您可以看到包围文本“一”的灰色区域
你能指导我清除灰色地带吗
输出必须看起来文本周围没有灰色
:)对于这个问题,在
TreeCellRenderer
中使用返回的Color
是否有非常简单的解决方法来setBackground
Color clr = UIManager.getColor("Tree.textForeground");
从昨天开始,对于这个问题,在
TreeCellRenderer
中是否有非常简单的解决方法,可以使用返回的Color
解决setBackground
问题
Color clr = UIManager.getColor("Tree.textForeground");
从昨天开始包括您是指renderer.setBackground(UIManager.getColor(“Tree.textfrospect”)@阿喀琉斯,请不要,永远渲染器返回组件,顺便说一句,您是否尝试过我昨天发布的代码示例,请检查变量
textforground=UIManager.getColor(“Tree.textforground”)
和textBackground=UIManager.getColor(“Tree.textBackground”)
对于它们在TreeCellRenderer
中的使用,我当然理解您的问题-->一年前(1年和1/2年)我玩过同样的冰球,有很多挥杆方法:-)我尝试了您建议的方法。但似乎不起作用。如果您注意到上面的代码,我会使用一个标签,将文本放在标签内,然后将标签放在面板内。有什么建议吗?你的意思是renderer.setBackground(UIManager.getColor(“Tree.textforground”)@阿喀琉斯,请不要,永远渲染器返回组件,顺便说一句,您是否尝试过我昨天发布的代码示例,请检查变量textforground=UIManager.getColor(“Tree.textforground”)
和textBackground=UIManager.getColor(“Tree.textBackground”)
对于它们在TreeCellRenderer
中的使用,我当然理解您的问题-->一年前(1年和1/2年)我玩过同样的冰球,有很多挥杆方法:-)我尝试了您建议的方法。但似乎不起作用。如果您注意到上面的代码,我会使用一个标签,将文本放在标签内,然后将标签放在面板内。有什么建议吗?灰色可能来自你的面板。尝试调用panel.setOpaque(false)代码>@Robin。set不透明在这里不起作用。试过了。灰色可能来自你的面板。尝试调用panel.setOpaque(false)代码>@Robin。set不透明在这里不起作用。试过了。