Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在TreeViewer中为特定项目的前景着色_Java_User Interface_Swt_Jface - Fatal编程技术网

Java 在TreeViewer中为特定项目的前景着色

Java 在TreeViewer中为特定项目的前景着色,java,user-interface,swt,jface,Java,User Interface,Swt,Jface,我试图只在JFace树满足条件时为其前景着色。我正在实现IColorProvider接口并实现getForegroundColor(对象元素) 我试图通过将断点放在第二个if中进行调试,但它没有进入if子句。在检查它是否是实例后,是否应该尝试转换到计划?顺便说一句:使用后,你必须dispose()颜色。我试过了,但它不起作用。我没有说这是一个解决方案。这只是关于良好编程技术的建议。如果您的代码未通过,请选择哪个?Outer还是inner?inner if子句不能通过,我不知道代码是什么样子,但根

我试图只在JFace树满足条件时为其前景着色。我正在实现
IColorProvider
接口并实现
getForegroundColor(对象元素)


我试图通过将断点放在第二个if中进行调试,但它没有进入if子句。

在检查它是否是
实例后,是否应该尝试转换到
计划
?顺便说一句:使用后,你必须
dispose()
颜色
。我试过了,但它不起作用。我没有说这是一个解决方案。这只是关于良好编程技术的建议。如果您的代码未通过,请选择哪个
?Outer还是inner?inner if子句不能通过,我不知道代码是什么样子,但根据方法名称,这:
schedule.getBeginEffectiveDate().equals(schedule.getEndEffectiveDate())
对我来说没有意义,因为两者都使用相同的
schedule
实例。
@Override
public Color getForeground(Object element)
{
    // TODO Auto-generated method stub
    Device device = getTreeViewer().getTree().getDisplay();
    Color color = new Color(device, 162, 82, 82);

    Schedule schedule = (Schedule) element;
    if (element instanceof Schedule)
    {
        if (schedule.getBeginEffectiveDate().equals(schedule.getEndEffectiveDate()) && schedule.getRecurrenceType().getName().equalsIgnoreCase("Once"))
        {
            return color;
        }
    }           
    return null;
}