GEF实战:图形之IFigure

来源:互联网 发布:家庭网络管理手机版 编辑:程序博客网 时间:2024/06/03 09:15

    图形是可以依次嵌套包含在画布中的。图形的可视部分是由其叠置顺序和嵌套的图形所决定的。每一个图形的绘制被划分为几步,绘制其客户区(Clint Area),绘制其嵌套的子图形和它的边框。Draw2D已经包括了一些常用的图像,比如直线,矩形,多边形,椭圆等等。复杂的图像可以嵌套一些简单的图像构成,也可以自己实现其绘制行为完成。

    对于一个可以呈现在Canvas上的对象,它必须实现IFigure接口。这个接口包含一些不同的方法用于点击测试,定位,嵌套子图形,注册监听器。当用户与图形进行交互时,有一些监听器和相应的方法提供了这样的功能。

addFocusListener(FocusListener)addKeyListener(KeyListener)addMouseListener(MouseListener) addMouseMotionListener(MouseMotionListener) containsPoint(Point) findFigureAt(Point) hasFocus() 

    图形可以包含其它子图形,有一些相应的监听器和方法控制和传递这样的继承关系。

addAncestorListener(AncestorListener) addCoordinateListener(CoordinateListener) addFigureListener(FigureListener) addLayoutListener(LayoutListener) add(IFigure) getChildren() getParent() isCoordinateSystem() useLocalCoordinates() 
    最后,IFigure提供了一些基本属性供访问。
getBackgroundColor() getBorder() getBounds() getClientArea() getFont() getForegroundColor() getToolTip() isOpaque() isVisible() setBackgroundColor(Color) setBorder(Border) setBounds(Rectangle) setFont(Font) setForegroundColor(Color)setOpaque(boolean)

原创粉丝点击