扩展控制台(org.eclipse.ui.console.consoleFactories)

来源:百度文库 编辑:神马文学网 时间:2024/04/30 13:52:29
1 : plugin.xml:
point="org.eclipse.ui.console.consoleFactories">
class="com.hnjchina.intro.ConsoleFactory"
label="样式显示台"/>

2: Perspective.createInitialLayout:
public void createInitialLayout(IPageLayout layout) {
layout.addView(IConsoleConstants.ID_CONSOLE_VIEW, IPageLayout.BOTTOM,0.70f, layout.getEditorArea());
}
3.implements IConsoleFactory类:
import java.io.IOException;
import java.io.PrintStream;
import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleFactory;
import org.eclipse.ui.console.IConsoleManager;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;
public class ConsoleFactory implements IConsoleFactory {
static MessageConsole console = new MessageConsole("样式控制台", 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();
try {
stream.write("测试!");
} catch (IOException e) {
e.printStackTrace();
}
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;
}
}