`

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扩展点,控制台就轻而易举的实现了,够简单吧
2
0
分享到:
评论
1 楼 WIN 2010-03-15  
345678910 写道
可以控制输出的字符串的颜色吗?

肯定是可以的 自己查查吧

相关推荐

Global site tag (gtag.js) - Google Analytics