首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JTree TreeCellRenderer未突出显示选定内容

JTree TreeCellRenderer未突出显示选定内容
EN

Stack Overflow用户
提问于 2017-03-18 09:40:52
回答 1查看 377关注 0票数 0

我为文件的JTree编写了一个树渲染器,它可以在第一次创建树时设置背景颜色,但它不会突出显示选择。

代码语言:javascript
复制
private class CustomTreeCellRenderer extends DefaultTreeCellRenderer{
    @Override
    public Component getTreeCellRendererComponent(JTree tree, Object value,boolean sel, boolean expanded, boolean leaf, int row, boolean hasFocus){
        if(value instanceof DefaultMutableTreeNode){
            setText(FileSystemView.getFileSystemView().getSystemDisplayName((File) ((DefaultMutableTreeNode) value).getUserObject()));
            setIcon(FileSystemView.getFileSystemView().getSystemIcon((File) ((DefaultMutableTreeNode) value).getUserObject()));
        }
        super.setBackgroundSelectionColor(Color.BLUE);
        if(selected){
            super.setBackground(Color.gray);
            setForeground(getTextSelectionColor());
        }else{
            super.setBackground(Color.CYAN);
            setForeground(getTextNonSelectionColor());
        }
        this.setOpaque(true);
        return this;
    }
}

添加

代码语言:javascript
复制
super.getTreeCellRendererComponent

解决了这个问题。

EN

回答 1

Stack Overflow用户

发布于 2017-03-18 23:38:45

在getTreeCellRendererComponent内部,第一个调用应该是

代码语言:javascript
复制
super.getTreeCellRendererComponent(arguments);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42869520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档