GEF实战:图形之IFigure

    图形是可以依次嵌套包含在画布中的。图形的可视部分是由其叠置顺序和嵌套的图形所决定的。每一个图形的绘制被划分为几步,绘制其客户区(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)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值