最近对eclipse里的console使用比较感兴趣,时间又有闲,大致研究里了下如何在console里输出链接,改变字体颜色
但是下面这段代码并不完善,link只能在document中使用,consoleStream就没法用
MessageConsole console = new MessageConsole("Console Name", null);
ConsolePlugin.getDefault().getConsoleManager().addConsoles(new IConsole[] { console });
MessageConsoleStream consoleStream = console.newMessageStream();
MessageConsoleStream consoleStream2 = console.newMessageStream();
ConsolePlugin.getDefault().getConsoleManager().showConsoleView(console);
String url = "http://www.baidu.com";
String url2 = "http://www.google.cn";
String time = new java.util.Date().toString();
//consoleStream.println(time);
console.getDocument().set(time+"\n");
//IDocument doc = console.getDocument();
try {
console.addHyperlink(new MyHyperLink(url), 0,3);
console.addHyperlink(new MyHyperLink(url2), 8,20);
FontData fontData = new FontData();
fontData.setStyle(SWT.BOLD);
Font font = new Font(Display.getDefault(),fontData);
console.setFont(font);
/*Color color = console.getBackground();
System.out.println("color="+color.toString());*/
} catch (BadLocationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
consoleStream.println("red");
consoleStream.setColor(new Color(Display.getDefault(),255,0,0));
consoleStream2.println("blue");
consoleStream2.setColor(new Color(Display.getDefault(),0,0,255));
/**************************** MyHyperLink *******************************************/
public class MyHyperLink implements IHyperlink {
private URL url;
public MyHyperLink(String urlStr){
try {
this.url = new URL(urlStr);
} catch (MalformedURLException e) {
e.printStackTrace();
this.url = null;
}
}
@Override
public void linkActivated() {
if(url!=null){
try {
PlatformUI.getWorkbench().getBrowserSupport().createBrowser(url.toString()).openURL(url);
} catch (PartInitException e) {
e.printStackTrace();
}
}
}
@Override
public void linkEntered(){System.out.println("link enter");}
@Override
public void linkExited() {System.out.println("link exit");}
}
eclipse中console使用
最新推荐文章于 2024-08-13 10:16:27 发布