实现简单的Console
Console视图可以用于交互操作如OSGi Console控制台,也用于一般的信息显示,如报错信息等.下文说明如何定义一个最简单的控制台.
*实现的功能
---定义自己的控制台,使用扩展点org.eclipse.ui.console.consoleFactories
---重定向标准输出流,将System.out的信息显示在控制台
*扩展org.eclipse.ui.console.consoleFactories
如图
*IConsoleFactory实现
IConsoleFactory示例 /** Copyright(C) 2010 Agree Tech, All rights reserved.* * Created on 2010-4-29 by dzh*/package cn.com.agree.abop.ide.rcp.console;import java.io.PrintStream;import org.eclipse.jface.text.BadLocationException; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontData; import org.eclipse.swt.widgets.Display; 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.IHyperlink; import org.eclipse.ui.console.MessageConsole; import org.eclipse.ui.console.MessageConsoleStream;import cn.com.agree.abop.ide.rcp.AbopActivator;public class AbopConsoleFactory implements IConsoleFactory {/**name,控制台页的名称;*true,创建时加入了IConsoleListener(见AbstractConsole),这样MessageConsole自己控制生命周期,即加入管理器时初始化和从管理器移除时销毁的处理.*/MessageConsole abopConsole =new MessageConsole(AbopActivator.getString("AbopConsoleFactory.name"), null, true); public void openConsole() {if(abopConsole!=null){IConsoleManager manager =ConsolePlugin.getDefault().getConsoleManager();IConsole[] consoles =manager.getConsoles();boolean exist =false;for(int i=0;i<consoles.length;i++){if(abopConsole==consoles[i]){exist =true;continue;}}if(!exist){manager.addConsoles(new IConsole[]{abopConsole}); //加入控制台管理器}MessageConsoleStream outStream =abopConsole.newMessageStream();PrintStream ps =new PrintStream(outStream);System.setOut(ps); //重定向输出流abopConsole.activate(); //将abopConsole显示在所有控制台的最上面manager.refresh(abopConsole);}}}
转载于:https://www.cnblogs.com/bronte/articles/1992685.html
实现简单的Console相关推荐
- Happy WS 之 控制台 -- Happy Console (一)
为什么80%的码农都做不了架构师?>>> Webit Script 是啥? ==>http://www.oschina.net/p/webit-script OK 先上效 ...
- 如何使用JavaScript控制台:超越console.log()
by Yash Agrawal 由Yash Agrawal 如何使用JavaScript控制台:超越console.log() (How to use the JavaScript console: ...
- 脱离.Net Framework运行doNet程序的简单方法
脱离.Net Framework运行doNet程序的简单方法(Console) 在.Net Framework下,你就算写一个小小的控制台程序,哪怕只有几K大小,我们必须要安装一个几十M的Framew ...
- C#编程入门第一课 Visual studio 2019使用,cs文件构成,打开项目文件,两句最简单语句,运行前,运行程序,显示行号,设置字体
C#编程入门第一课 文章目录 C#编程入门第一课 1 2 3 Visual Studio 2019 4. cs文件构成 5. 打开项目文件 6. 两句最简单语句 7. 运行前 8.运行程序 9.显示行 ...
- 关于console你不知道的那些事
看到标题,大家会不会想,我都在前端岗位叱咤风云这么多年了, console 这个玩意用你讲 但是, 今天我将带你看到不一样的 console, 可以带来更多的帮助 了解 console 什么是 con ...
- JavaScript 控制台(console)调试技巧
一.简单理解 Console是用于显示JS和DOM对象信息的单独窗口.在浏览器中按F12调出的调试窗口中有一个控制台选项或console选项. 二.支持console的浏览器 Chrome和FireF ...
- Javascript调试命令——你只会Console.log() ?
Javascript调试命令--你只会Console.log() ? Console 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console).不同浏览器上它的工作方式是不一样的 ...
- JavaScript------你真的会用console来调试打印么?
部分打印API展示如下: assert() 如果断言为false,则将一个错误消息写入控制台.如果断言是 true,没有任何反应. clear() 清空控制台.Google Chrome浏览器中,如 ...
- console的用法
Javascript调试命令--你只会Console.log() ? Console 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console).不同浏览器上它的工作方式是不一样的 ...
最新文章
- 比特币和加密货币入门
- java反射机制和junit的使用
- Java继承_java继承
- 生成器作为(快速失败)状态机
- svn更换url地址怎么办
- 由WPS 2005想到的
- 如何彻底卸载3dmax2020_3DMAX 2020安装失败,怎么把3DMAX 2020彻底卸载删除干净重新安装?...
- 大三实习生面试BAT经验
- Android patchrom 流程详解
- 关于Web的欢迎页面的开发设置
- 小学计算机少年宫活动计划,少年宫活动计划
- Android Studio调用百度地图(二):实现地图显示后台定位和步行导航
- 图片横向滚动 01-兼容IE8和Chrome浏览器
- 画画初学者怎么画好素描?画素描的技巧有哪些?
- spring-boot-mvc启动流程
- 线程让步(yield)和线程睡眠(sleep)区别
- python 小说下载工具_下载输入python之小说下载器version2.0
- 基于MATLAB的AM的调制与解调
- 编译原理:简单词法分析器的设计与实现
- CentOS安装RTL8188CE无线网卡驱动
热门文章
- 如何利用大数据进行价值兑现才是正经事
- matlab odeset慢,matcont6p1 最全最强大的非线性系统动态分岔与混沌分析软件,功能 ,可以满足绝大多数动力学要 matlab 276万源代码下载- www.pudn.com...
- 系统学习机器学习之随机场(二)--MEMM
- apple quicktime怎么在ppt中用_只添加一个色块,你也能做出高大上的PPT排版
- Please make sure you have the correct access rights and the repository exists.
- .NET2.0中,Winform程序如何异步调用Web Service呢?[Demo下载]——与.net1.1环境下比较...
- 老司机 iOS 周报 #37 | 2018-09-24
- python的UML类图自动生成工具--pyreverse安装和使用
- alter system switch logfile与alter system archive log current
- Clojure的并发(六)Agent可以改进的地方