打开plugins.xml,
在Dependencies项中,点击add,加入org.eclipse.ui.console 依赖项。
在extensions项中点击add,添加org.eclipse.ui.console .consolefactories, 然后再该插件上点击右键,New-->consoleFactory ,在label想中填入控制台的名称,class中填入需要放置控制台工厂的 类名,如com.test.ui.ConsoleFactory,单击class会进入ConsoleFactory的代码编辑区,在代码编辑区中写入以 下代码。
Java代码
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( " Transfer Infomation " ,
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 ;
}
}
在RCP 的Perspective.java中写入
Java代码
public void createInitialLayout(IPageLayout layout) {
String editArea = layout.getEditorArea();
ConsoleFactory cf = new ConsoleFactory();
cf.openConsole();
layout.setEditorAreaVisible( false );
layout.addView(IAppConstant.PIC_VIEW, IPageLayout.TOP, 0.50f , editArea);
IFolderLayout up = layout.createFolder( " up " ,IPageLayout.BOTTOM, 0.5f ,editArea);
up.addPlaceholder(IConsoleConstants.ID_CONSOLE_VIEW);
up.addView(IConsoleConstants.ID_CONSOLE_VIEW);
}
运行,哈哈,已经有console 了。
如果报错:
!MESSAGE Missing Constraint : Require-Bundle: org.eclipse.ui.console; bundle-version="3.4.0"
... ...
解决方法是在运行配置"Open Run Dialog ... "里找到相应的运行项, 然后在"Plug-ins "里先按下"Validate Plug-ins "按钮, 会提示你缺少Bundle项, 然后按下"Add Required Plug-ins "按钮, 这样就会把运行时需要的plug-ins给自动添加上去(在这个例子里是org.eclipse.ui.console 这个插件).