Eclipse rcp Eclipse RCP控制台

Eclipse rcp Eclipse RCP控制台,eclipse-rcp,Eclipse Rcp,我已经在我的rcp应用程序中集成了一个控制台,但是我想用红色而不是蓝色显示一些重要信息,但我不知道怎么做(我可以添加一些if条件吗?)这是我控制台视图的类。请帮我解决我的问题 公共调试控制台() { 超级(“stdio/stderr”,空); outMessageStream=newMessageStream(); setColor(Display.getCurrent().getSystemColor( 颜色(蓝色); errMessageStream=newMessageStream(

我已经在我的rcp应用程序中集成了一个控制台,但是我想用红色而不是蓝色显示一些重要信息,但我不知道怎么做(我可以添加一些if条件吗?)这是我控制台视图的类。请帮我解决我的问题

公共调试控制台()
{   
超级(“stdio/stderr”,空);
outMessageStream=newMessageStream();
setColor(Display.getCurrent().getSystemColor(
颜色(蓝色);
errMessageStream=newMessageStream();
errMessageStream.setColor(Display.getCurrent().getSystemColor(
颜色(红色);
系统放样(新打印流(输出消息流));
System.setErr(新打印流(errMessageStream));
} 
建议如下

如果
newMessageStream()
方法返回有效的
MessageConsoleStream
则所有
System.out.print
消息将以蓝色显示,
System.err.print
消息将以红色显示

  • 用于在中显示匹配的消息 控制台上有不同的颜色

  • 在使用
    System.out.print
    System.err.print
    语句之前更改流颜色。 在最后两行代码中,将
    PrintSteam
    实例作为类公共字段(或使用getter和setter进行私有),并获取这些流并设置颜色。记得在使用
    System.out.print
    System.err.print
    语句后重新设置颜色

  • 公共类调试控制台{
    私有打印流外流;
    私有打印流;
    公共调试控制台(){
    超级(“stdio/stderr”,空);
    outMessageStream=newMessageStream();
    setColor(Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
    errMessageStream=newMessageStream();
    errMessageStream.setColor(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
    outStream=新的打印流(outMessageStream);
    errStream=新的打印流(errMessageStream);
    系统放线(扩流);
    System.setErr(errStream);
    }
    公共PrintStream getOutStream(){
    回流分流;
    }
    公共void setOutStream(打印流outStream){
    this.outStream=outStream;
    }
    公共PrintStream getErrStream(){
    回流;
    }
    public void setErrStream(PrintStream errStream){
    this.errStream=errStream;
    }       
    }
    
    测试等级:

    公共类测试控制台{
    公共静态void main(字符串[]args){
    DebugConsole=新的DebugConsole();
    MessageConsoleStream errStream=(MessageConsoleStream)console.getErrStream();
    Color oldColor=errStream.getColor();
    errStream.setColor(Display.getCurrent().getSystemColor(SWT.COLOR_深_绿));
    //以下所有信息将以绿色显示
    System.err.println(“这是绿色的”);
    System.err.println(“这是绿色的”);
    //重置颜色返回
    errStream.setColor(oldColor);
    //对输出流执行相同的操作
    }
    }
    

    或者使用Grep控制台插件

    你的消息流是什么类型的?private MessageConsoleStream outMessageStream;私有消息控制台消息流;请你澄清一下你的答案好吗?我不明白