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