使用rcp自带console输出信息
2011-04-18 22:42
501 查看
习惯了使用Eclipse的console来调试程序,当然在Rcp程序中如果能用console来输出用户关系的log信息也是不错的选择,要使用Rcp自带的console,首先是在plugin.xml中扩展consoleFactories
其中ConsoleFactory.java代码如下:
最后需要的在依赖关系中添加org.eclipse.ui.console
现在该console就会显示在透视图的下半部分了,但是可以看到现在的rcp上有很多menubar,这些是我们所不需要的,可以通过在代码中添加下列代码来简化menubar
其中ConsoleFactory.java代码如下:
/* * use the RCP console to display the information * @Author:Biyunyun * @version:1.0 * @date:2011-4-14 */ public class ConsoleFactory implements IConsoleFactory { static MessageConsole console = new MessageConsole("BulkLoader&&TodoList Info:", null); @Override public void openConsole() { showConsole(); } public static void showConsole() { if (console != null) { IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager(); IConsole[] existing = manager.getConsoles(); boolean exists = false; //add the new MessageConsole instance into the control manager and show for (int i = 0; i < existing.length; i++) { if (console == existing[i]) exists = true; } if(!exists){ manager.addConsoles(new IConsole[] { console }); } manager.showConsoleView(console); } } public static void closeConsole(){ IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager(); if (console != null){ manager.removeConsoles(new IConsole[]{ console }); } } public static MessageConsole getConsole(){ return console; } }然后在透视图中将其显示出来PerspectiveFactory
ConsoleFactory cf = new ConsoleFactory(); layout.addView(IConsoleConstants.ID_CONSOLE_VIEW, IPageLayout.BOTTOM,0.70f, layout.getEditorArea()); cf.openConsole();
最后需要的在依赖关系中添加org.eclipse.ui.console
现在该console就会显示在透视图的下半部分了,但是可以看到现在的rcp上有很多menubar,这些是我们所不需要的,可以通过在代码中添加下列代码来简化menubar
IWorkbenchPage page = PlatformUI.getWorkbench().getWorkbenchWindows()[0] .getPages()[0]; IViewPart viewpart = page.findView(IConsoleConstants.ID_CONSOLE_VIEW); // IActionBars actionBar = viewpart.getViewSite().getActionBars(); IToolBarManager toolbarMgr = viewpart.getViewSite().getActionBars() .getToolBarManager(); // IToolBarManager toolbarMgr = actionBar.getToolBarManager(); IContributionItem[] items = toolbarMgr.getItems(); for (IContributionItem item : items) { if (item instanceof ActionContributionItem) { IAction action = ((ActionContributionItem) item).getAction(); String text = action.getText(); if (text.equals("Open Console") || text.equals("Select Console")) { toolbarMgr.remove(item); } } } viewpart.getViewSite().getActionBars().updateActionBars();但是这些代码如果添加在ConsoleFactory.java中,要么出现透视图无法显示,也有会出现nullpoint的错误,后来将这些代码添加到该透视图中另外一个viewpart的构造函数中,问题得到解决。
相关文章推荐
- 使用rcp自带console输出信息
- 使用rcp自带console打印日志信息
- Win32应用程序使用Console窗口输出调试信息
- VC MFC如何使用Console输出调试信息..
- 使用log4cxx在GUI 程序中将信息输出到Console
- *在Win32应用程序中使用Console控制台输出信息(原)
- 在firebug中使用console对象输出调试信息
- JDK自带的Logger简单使用--输出信息到文本
- 百度在首页输出console发布招聘信息
- ModelSim使用$display查看变量值和输出信息
- 使用java面向对象创建动物类并输出动物信息
- eclipse中如何在运行时工作台(而不是开发工作台)的console中输出信息?
- C# WPF 使用Console.Write打印信息到控制台窗口中
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 9.28机试 使用面向对象思想,输出员工信息并计算员工的工资。
- 完成一个学生管理程序,使用学号作为键添加5个学生对象,并可以将全部信息保存在文件中,可以实现对学生信息的学号查找,输出全部学生信息的功能。
- win32使用OutputDebugString输出调试信息的方法
- QTP自带订票实现循环执行,參数化和将异常提示信息输出
- WinForm程序中使用控制台(console)作为输出窗口
- MFC程序如何使用printf输出调试信息