Java培训之图形编程

Java培训之图形编程

ID:43358928

大小:322.50 KB

页数:30页

时间:2019-10-08

Java培训之图形编程_第1页
Java培训之图形编程_第2页
Java培训之图形编程_第3页
Java培训之图形编程_第4页
Java培训之图形编程_第5页
资源描述:

《Java培训之图形编程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、图形编程第八章回顾Java最新的事件处理方法是基于授权事件模型。事件是描述事件源状态变化的对象。用户与GUI组件交互就会生成事件。事件源是一个生成事件的对象。当这个对象的内部状态改变时,事件就会发生。在发生事件时,事件源将调用监听器定义的相应方法。2目标解释图形的绘制描述Graphics对象了解Font类了解FontMetrics类了解Color类掌握绘制各种图形的方法3所有的图形被画到相关联的窗口中。完全可以直接在框架(Frame)中绘入文本信息,甚至可以直接在框架中绘图。框架经常被设计为一个组件容器。一般首先在一个面板中进行绘

2、制,然后再将这个面板添加到框架。在框架中显示信息4paintComponent方法JPanel非常适合于绘制自定义图形其图形对象是作为paintComponent()方法的参数获得的。要创建自定义图形,需要编写扩展JPanel类的新类。并覆盖父类的paintComponent()方法:publicvoidpaintComponent(Graphicsg){...//将在这里通过参数g完成绘制代码}5Graphics对象paintComponent方法包含一个Graphics类型的参数。Graphics对象记录针对绘制图形和文本的一

3、系列设置,比如设置的图标或当前颜色、字体等。Java中,所有绘制都必须通过一个图形对象。6Graphics对象的局限性可以用Graphics对象绘制的图形是原始图形。对于这些图形,不能使用实数坐标不能绘制虚线或宽度不定的线条不能使用纹理或渐变颜色填充形体7Graphics2D对象Java2D包括一个Graphics2D类,此类扩展了Graphics类,所有图形方法都可以配合Graphics2D对象使用Java2D图形的重要功能:颜色和图案:图形可以用渐变颜色和填充图案着色。透明绘制:图形的不透明度通过α透明值控制。本地字体:平台上

4、的所有本地字体都可用于绘制文本。画笔的显式控制:可以使用线条的粗细、虚线图案以及段连接样式。坐标系的转换:可以使用平移、缩放、旋转和剪切为了解决图形对象的局限性,在Java1.1以后的版本中引入了Java2D。8基本的绘图方法publicvoidpaint(Graphicsg){g.setColor(someColor);//设置颜色g.setFont(someLimitedFont);//设置字体g.drawString(...);//绘制字符串g.drawLine(...);//画线g.drawRect(...);//绘制图形

5、轮廓g.fillRect(...);//绘制填充图形g.drawPolygon(...);//绘制图形轮廓g.fillPolygon(...);//绘制图形轮廓...}每个AWT组件定义一种传递Graphics对象的paint方法,绘制便是在该对象上执行。设置画笔参数9Java2D中的基本绘图方法publicvoidpaintComponent(Graphicsg){super.paintComponent(g);Graphics2Dg2d=(Graphics2D)g;//强制转换为Graphics2Dg2d.setPaint(f

6、illColorOrPattern);g2d.setStroke(penThicknessOrPattern);g2d.setComposite(someAlphaComposite);g2d.setFont(anyFont);g2d.setColor(anyColor);g2d.translate(...);g2d.rotate(...);g2d.scale(...);g2d.shear(...);g2d.setTransform(someAffineTransform);SomeShapes=newSomeShape(...)

7、;g2d.draw(s);//绘制图形轮廓g2d.fill(s);//绘制填充图形}设置画笔参数10Font类Font类只有一个构造函数:publicFont(Stringname,intstyle,intpointsize)参数name表示字体的名称。参数style表示样式可以是Font.PLAIN、Font.BOLD或Font.ITALIC参数pointsize表示字体的点数,即以磅为单位的字体大小,可以是11、12、14、16等。publicvoidpaint(Graphicsg){...g.setFont(newFont(

8、"Helvetica",Font.ITALIC,18));g.drawString("Drawwhereeveryouwant",100,10);...}11通过使用getFontMetrics()方法,而不是new运算符(因为它是一个抽象类),可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。