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相关推荐

  1. Happy WS 之 控制台 -- Happy Console (一)

    为什么80%的码农都做不了架构师?>>>    Webit Script 是啥? ==>http://www.oschina.net/p/webit-script OK 先上效 ...

  2. 如何使用JavaScript控制台:超越console.log()

    by Yash Agrawal 由Yash Agrawal 如何使用JavaScript控制台:超越console.log() (How to use the JavaScript console: ...

  3. 脱离.Net Framework运行doNet程序的简单方法

    脱离.Net Framework运行doNet程序的简单方法(Console) 在.Net Framework下,你就算写一个小小的控制台程序,哪怕只有几K大小,我们必须要安装一个几十M的Framew ...

  4. C#编程入门第一课 Visual studio 2019使用,cs文件构成,打开项目文件,两句最简单语句,运行前,运行程序,显示行号,设置字体

    C#编程入门第一课 文章目录 C#编程入门第一课 1 2 3 Visual Studio 2019 4. cs文件构成 5. 打开项目文件 6. 两句最简单语句 7. 运行前 8.运行程序 9.显示行 ...

  5. 关于console你不知道的那些事

    看到标题,大家会不会想,我都在前端岗位叱咤风云这么多年了, console 这个玩意用你讲 但是, 今天我将带你看到不一样的 console, 可以带来更多的帮助 了解 console 什么是 con ...

  6. JavaScript 控制台(console)调试技巧

    一.简单理解 Console是用于显示JS和DOM对象信息的单独窗口.在浏览器中按F12调出的调试窗口中有一个控制台选项或console选项. 二.支持console的浏览器 Chrome和FireF ...

  7. Javascript调试命令——你只会Console.log() ?

    Javascript调试命令--你只会Console.log() ? Console 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console).不同浏览器上它的工作方式是不一样的 ...

  8. JavaScript------你真的会用console来调试打印么?

    部分打印API展示如下: assert()  如果断言为false,则将一个错误消息写入控制台.如果断言是 true,没有任何反应. clear() 清空控制台.Google Chrome浏览器中,如 ...

  9. console的用法

    Javascript调试命令--你只会Console.log() ? Console 对象提供对浏览器控制台的接入(如:Firefox 的 Web Console).不同浏览器上它的工作方式是不一样的 ...

最新文章

  1. 比特币和加密货币入门
  2. java反射机制和junit的使用
  3. Java继承_java继承
  4. 生成器作为(快速失败)状态机
  5. svn更换url地址怎么办
  6. 由WPS 2005想到的
  7. 如何彻底卸载3dmax2020_3DMAX 2020安装失败,怎么把3DMAX 2020彻底卸载删除干净重新安装?...
  8. 大三实习生面试BAT经验
  9. Android patchrom 流程详解
  10. 关于Web的欢迎页面的开发设置
  11. 小学计算机少年宫活动计划,少年宫活动计划
  12. Android Studio调用百度地图(二):实现地图显示后台定位和步行导航
  13. 图片横向滚动 01-兼容IE8和Chrome浏览器
  14. 画画初学者怎么画好素描?画素描的技巧有哪些?
  15. spring-boot-mvc启动流程
  16. 线程让步(yield)和线程睡眠(sleep)区别
  17. python 小说下载工具_下载输入python之小说下载器version2.0
  18. 基于MATLAB的AM的调制与解调
  19. 编译原理:简单词法分析器的设计与实现
  20. CentOS安装RTL8188CE无线网卡驱动

热门文章

  1. 如何利用大数据进行价值兑现才是正经事
  2. matlab odeset慢,matcont6p1 最全最强大的非线性系统动态分岔与混沌分析软件,功能 ,可以满足绝大多数动力学要 matlab 276万源代码下载- www.pudn.com...
  3. 系统学习机器学习之随机场(二)--MEMM
  4. apple quicktime怎么在ppt中用_只添加一个色块,你也能做出高大上的PPT排版
  5. Please make sure you have the correct access rights and the repository exists.
  6. .NET2.0中,Winform程序如何异步调用Web Service呢?[Demo下载]——与.net1.1环境下比较...
  7. 老司机 iOS 周报 #37 | 2018-09-24
  8. python的UML类图自动生成工具--pyreverse安装和使用
  9. alter system switch logfile与alter system archive log current
  10. Clojure的并发(六)Agent可以改进的地方