`
文章列表
来源自网络:   1. MySQL Workbench MySQL Workbench 为数据库管理员、程序开发者和系统规划师提供可视化的Sql开发、数据库建模、以及数据库管理功能。 2.MySQL Workbench 的下载和安装   (1)安装最新MySql时,有是否安装MySql Workbench的选项,可选择安装。   (2)可以独立安装MySql Workbench。官方下载地址:http://dev.mysql.com/downloads/workbench/   安装很简单,基本就是一路Next。 3.MySQL Workbench的功能使用 功能界面: ...
文本从网上直接拷贝的:   有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。 一、连接MYSQL。 格式: mysql -h主机地址 -u用户名 -p用户密码 1、例1:连接到本机上的MYSQL。 首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>; 2、例2:连接到远程主机上的MYSQL。假 ...
  1.IFigure IFigure接口是所有Figure的基础接口,里面有很多方法,这里只列出部分自己觉得有用的方法:   (1)add(IFigure figure, Object constraint, int index):添加一个子,并且指定其约束和位置:     public void add(IFigure figure, Object constraint, int index) { if (children == Collections.EMPTY_LIST) children = new ArrayList(2); if (index &l ...
作为gef的展现层draw2d以其轻量灵活著称,在了解gef的同事,如果不花足够多的时间了解draw2d,就相当你有一半是无知的。     1.LightweightSystem与GraphicalViewerImpl:    它为SWT与draw2d建立联系,使得Figure能够很好的被Canvas管理。    要达到这个目的,必须做三件事:1.创建一个Canvas。2.创建一个LightweightSystem,并且把Canvas对象传递给它。3.创建一个rootFigure并且把它传递给LightweightSystem。这样LightweightSystem就能管理Canvas ...
  注意:这篇文章是从刘刚的博客中获取的,主要是考虑到自己碰到类似需求,所以直接拷贝过来了,当做资料积累。   默认情况下,GEF中要创建一个新的结点都是通点在Palette上选择一个结点,然后在Editor区域单击实现的。   也有一些是通过拖放Palette中的一个对象到Editor区域来实现的。   要实现一个拖放支持也是很容易的。GEF中默认实现了一组drag-drop listener用来支持拖放实现:   1。TemplateTransferDropTargetListener  
在SWT中组件会对tab,enter,上下左右方向键之类的有其默认的操作,可以通过添加TraverseListener监听来实现对这些默认的功能的一次重新定制。   TraverseListener:有一股keyTraversed(TraverseEvent e)方法,TraverseEvent是事件信息 TraverseEvent有两个参数:detail和doit。detail和doit。 detail属性指定事件类型。 doit指定该事件是否该执行。   除了这两个属性,如果我们要改变tab,enter,上下左右方向键响应的行为,可以定制keyTraversed方法的。   ...
在draw2d中跟文字布局相关的东西是Flow,无论是布局还是figure,都是FlowXX或者XXFlow。下面是八进制博客里面的代码:     class LabelEx extends FlowPage { private TextFlow contents; public LabelEx() { this(""); } public LabelEx(String text) { contents = new TextFlow(); contents.setL ...
最近在写编辑器的时候,发现出现一个问题,很多东西焦点在编辑器上的时候操作可行。但是焦点切换到大纲视图的时候就不行。   这主要是我的操作需要用到当前处于活动状态的编辑器实例,而我的获取方式却是通过选中的对象,进行寻找。一旦我的焦点不在编辑器的某节点上,就获取不到编辑器对象。   鉴于此,我想到了很早以前我总觉的不怎么靠谱的方式,eclipse本身提供了一套获取当前活动编辑器的方法。通过这套方法,就不会产生焦点缺失后,获取编辑器实例为空的结果。   同样的,这个经验也可以用在,视图上面,其实当前活动的视图也是可以通过一种无依赖的方式。

常用效果的实现

在Draw2D中,想有比较好看的界面效果,就必须添加一些特殊点的绘制方法:   1.渐变颜色的绘制:   graphics.setBackgroundColor(ColorConstants.lightBlue); graphics.setForegroundColor(new Color(null,246,246,246)); graphics.fillGradient(bound, true);   渐变色的原理,无非就是利用前景色和背景色的色差,然后通过一个默认的算法来进行渐变。true:表示是纵向渐变。   2.圆角矩形的绘制:     graphi ...

EditPart的生命周期

    博客分类:
  • GEF
EditPart是整个gef的核心层,如果想更好的扩展它,必须了解它的生命周期。   1.物理结构: 整个编辑器从物理结构上来说,其实就是多个EditPartViewer组成,而从展现上来说EditPartViewer提供给编辑器的是一个SWT控件,而不是Figure(Figure也是由SWT发展而来)。对于不同的EditPartViewer会由不同的选中,其中GraphicalViewerImpl的选择就是所有的子组件必须是Figure。     public Control createControl(Composite composite) { setControl(ne ...

Feedback(反馈)详述一

    博客分类:
  • GEF
Feedback用于对gef编辑器操作的反馈,最常见的是一些鬼影效果。     1.Feedback的调用: 每个gef编辑器都有一个EditDomain对象,EditDomain主要是用于触发事件用的,这样说真的很不负责任。但是,事件的转发确实是它的主要责任之一。首先它会获取到事件源,然后获取到当前活动的ActiveTool,然后转发给当前活动的ActiveTool。至于事件是如何响应的,如何处理的,都是由Tool来处理的。(关于EditDomain和tool这块在另一篇文章里面有描述) 由于事件的响应都是由ActiveTool处理的,EditDomain只做转发,所以,最 ...

gef编辑器详述

    博客分类:
  • GEF
工作以来一直都在做IDE,写篇文章记录下自己对gef的理解,再粗糙也是自己的理解,呵呵!   gef主要是用于实现图形化编辑器的一个框架,尽管它主要用于实现编辑器,但是它还是可以做其它的东西的,例如官方提供的tree节点的大纲视图,就是建立在gef框架基础之上的。       1.Tool EditDomain: 对于一个gef应用来说,EditDomain对象是全局唯一的,对于一个gef应用来说,EditDomain基本上是顶层控制器。它管理者EditPartViewer,PaletteViewer,CommandStack,activeTool。这里觉得奇怪的是为啥要有Pal ...

DragTracker拖拽跟踪

    博客分类:
  • GEF
DragTracker接口是gef中用于跟踪鼠标或键盘执行拖拽操作的一个接口。   它本身继承Tool,tool是gef典型的Selection层的产物,从业务流程上来讲。用户操作的第一部就是选中什么节点,然后发送什么请求,再就是得到什么相应。这对 ...

EditPart的选中

    博客分类:
  • GEF
EditPart的选中状态: 在EditPart里面可以通过setSelected(int value)的方式,设置对EditPart的选中状态。一共有三种选中状态:SELECTED_NONE = 0; SELECTED = 1; SELECTED_PRIMARY = 2; 当你仅仅设置了这个状态的时候,编辑器界面是会有改变的,它会让你感觉选中了EditPart。但是这个时候你看大纲视图,你看属性视图,你会发现都没有做相应的变化。而且你这个时候,你对你选中的对象做拖拽操作的时候,是无效果的。 由此可见,EditPart的setSelected方法只是一个描述选中状态类型的操作,它并没有帮你 ...

fastjson介绍

    博客分类:
  • json
fastjson一个提高序列化效率的开源项目。              
Global site tag (gtag.js) - Google Analytics