您的位置:首页 > 理论基础 > 计算机网络

windows 网络管理

2007-04-16 20:46 239 查看
首先在Perspective中加上

IFolderLayout folderLayout = layout.createFolder("folder", IPageLayout.BOTTOM,0.70f, editorArea);
folderLayout.addView(IConsoleConstants.ID_CONSOLE_VIEW);


IFolderLayout folderLayout = layout.createFolder("folder", IPageLayout.BOTTOM,0.70f, editorArea);
folderLayout.addView(IConsoleConstants.ID_CONSOLE_VIEW);

就可以显示Console了,然后在创建它的控制者:

package com.hoperun.citools.console;

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;

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;
}
}

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");

MessageConsoleStream  printer =ConsoleFactory.console.newMessageStream();
ConsoleFactory.showConsole();
printer.print("aaaaaaaaaa\n");


不过这样就不符合规范了,最好的方法就是写个静态方法带String参数,传进去的参数就是你想要输出的东西,

不信就试一试,不过在写代码之前别忘了基本的,就是先得添加org.eclipse.ui.console扩展点,控制台就轻而易举的实现了,够简单吧
原文地址:http://358184482-qq-com.javaeye.com/blog/461886
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: