RCP 实现Eclipse Console

首先在Perspective中加上
IFolderLayout folderLayout = layout.createFolder("folder", IPageLayout.BOTTOM,0.70f, editorArea);
folderLayout.addView(IConsoleConstants.ID_CONSOLE_VIEW);
就可以显示Console了,然后在创建它的控制者:
package com.netunit.workbench.sys;

import java.io.PrintStream;

import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleManager;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;

/**
* Console Factory
*
* @author 何明
*
*/
public class ConsoleFactory {
public static MessageConsole console = new MessageConsole("Netunit Console",
null);

public void openConsole() {
showConsole();
}

public static void showConsole() {
if (console != null) {
IConsoleManager manager = ConsolePlugin.getDefault()
.getConsoleManager();
IConsole[] existing = manager.getConsoles();
boolean exists = false;
for (int i = 0; i < existing.length; i++) {
if (console == existing[i])
exists = true;
}
if (!exists) {
manager.addConsoles(new IConsole[] { console });
}
manager.showConsoleView(console);

MessageConsoleStream stream = console.newMessageStream();
System.setOut(new PrintStream(stream));
}
}

public static void closeConsole() {
IConsoleManager manager = ConsolePlugin.getDefault()
.getConsoleManager();
if (console != null) {
manager.removeConsoles(new IConsole[] { console });
}
}

public static MessageConsole getConsole() {
return console;
}
}


然后在调用的地方加上一下代码即可
MessageConsoleStream  printer =ConsoleFactory.console.newMessageStream();
ConsoleFactory.showConsole();
printer.print("aaaaaaaaaa\n");


不过这样就不符合规范了,最好的方法就是写个静态方法带String参数,传进去的参数就是你想要输出的东西,
不信就试一试,不过在写代码之前别忘了基本的,就是先得添加org.eclipse.ui.console扩展点,控制台就轻而易举的实现了,够简单吧
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值