打开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
这个插件).