- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 图形用户界面 9.1 Applet 概述 Java Applet 一种嵌入HTML文档中的Java程序 与Application相比,Applet具有明显的优点: web浏览器提供了运行Applet所需要的许多功能 Applet是在运行时通过网络从服务器端下载的,因而便于软件的发布和及时更新 Applet也有其局限性: 不能在客户机上读写当地文件 也不能连接除它所在的服务器以外的其它机器 例9-1 在浏览器中加载一个Applet,功能是显示一 个字符串“This is a Java Applet!” import java.awt.Graphics; import javax.swing.JApplet; public class Ex9_1 extends JApplet{ //重写JApplet类的paint方法,参数是Graphics类的对象,是由浏览器传递过来的 public void paint(Graphics g) { super.paint(g); //调用其超类JApplet类的paint方法 g.drawString(This is a Java Applet!,25,25); } } 编译ex9_1.java产生字节码文件ex9_1.class。接下来 需要编写一个HTML文件ex9_1.html来嵌入ex9_1.class html applet code=Ex9_1.class width=300 height=45 /applet /html 将ex9_1.html文件和Ex9_1.class文件放在同一个目录下。 在浏览器中打开这个HTML文件,当浏览器遇到 Applet标记时,就会自动载入指定的class文件,就会实 现在屏幕上绘制一串字符的效果。 9.2 Applet应用程序接口 JApplet类 一个applet程序需要继承javax.swing包中的JApplet类,也可以继承老的AWT组件中的Applet类, JApplet类属于新的Swing组件 提供了applet在浏览器中运行需要具备的特定方法 浏览器载入时,要依次运行init、start、paint方法 离开浏览器页面时,执行stop 退出浏览器时,执行destroy 提供了所有这些方法的默认实现,所以我们在编写自己的applet时,就可以不必写出全部方法,只要继承这个JApplet,然后重写特定的方法来增加特殊功能 import javax.swing.*;. import java.awt.*; public class HelloSwingApplet extends JApplet { public void init() { JLabel label = new JLabel( You are successfully running a Swing applet!); label.setHorizontalAlignment(JLabel.CENTER); label.setBorder(BorderFactory.createMatteBorder( 1,1,2,2,Color.black)); getContentPane( ).add(label, BorderLayout.CENTER); } } 9.3 绘图 图形环境和图形对象 颜色和字体 使用Graphics类绘图 使用Graphics2D类绘图 9.3.1 图形环境和图形对象 坐标 GUI组件的左上角坐标默认为(0,0) 从左上角到右下角,水平坐标x和垂直坐标y增加。 坐标的单位是象素 Graphics对象 Graphics对象是专门管理图形环境的。Graphics类是一个抽象类 设计一个抽象类Graphics可以给程序员提供一个与平台无关的绘图接口,因而程序员就可以以独立于平台的方式来使用图形。在各个平台上实现的Java系统将创建Graphics类的一个子类,来实现绘图功能,但是这个子类对程序员是透明的,也就是说我们只能看得到Graphics类,却不必关心其实现 在执行paint方法时,系统会传递一个指向特定平台的Graphics子类的图形对象g 9.3.2 颜色和字体 Java中有关颜色的类是Color类,它在java.awt包中,这个类声明了用于操作Java程序中颜色的方法和常量 Font类——有关字体控制,在java.awt包中 9.3.3 使用Graphics类绘图 Graphics类 其对象可以绘制文本、线条、矩形、多边形、椭圆、弧等多种图形 例9-
文档评论(0)