gpt4 book ai didi

java - JTree TreeCellRenderer 不突出显示选择

转载 作者:行者123 更新时间:2023-12-02 13:38:28 24 4
gpt4 key购买 nike

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

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;
}
}

添加

super.getTreeCellRendererComponent

解决了问题。

最佳答案

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

super.getTreeCellRendererComponent(arguments);

关于java - JTree TreeCellRenderer 不突出显示选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42869520/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com