1 / 19

Java 小应用初步

Java 小应用初步. 1 所有小应用程序的根源. 1.1 小应用的特点 import java.applet.*; public class MyApplet extends Applet { ;} applet 都继承自 java.applet.Applet 类 , 由 Sun 公司事先定义好了 . 每个小应用都有一个主程序类 , 之前必须加上 public. http://someLocation/file.html. 1. Browser loads URL. <Html> <Applet code= ….> </Applet>.

steffi
Download Presentation

Java 小应用初步

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java小应用初步

  2. 1 所有小应用程序的根源 • 1.1 小应用的特点 import java.applet.*; public class MyApplet extends Applet { ;} • applet都继承自java.applet.Applet类,由Sun公司事先定义好了. • 每个小应用都有一个主程序类, 之前必须加上public.

  3. http://someLocation/file.html 1. Browser loads URL <Html> <Applet code= ….> </Applet> 2. Browser loads HTML document 3. Browser loads applet classes Applet class http://someLocation/file.html Location: 4. Browser run applet Loading... 2.1 所有小应用程序的根源

  4. 本地程序 所有小应用程序的根源 • Applet的限制 SERVER Browser Applet被下载的 connection applet file SERVER connection local 与applet无关的 本地方法

  5. 2 applet的生命周期 • paint()虽不在生命周期内,但它的作用相当于applet的灵魂 Java.applet.Applet public void init() public void destroy() public void start() public void stop() public void paint(Graphics g)

  6. 一个applet的可视周期 init start 重新装入或改变页面大小或返回Web页面 离开web页面 stop destroy

  7. 有关paint()方法 • Applet本身是一个容器,因此任何输出都必须用图形方法paint() • 当小应用首次被装载,以及每次窗口放大、缩小、刷新时都要调用paint方法 • paint()是由浏览器调用的, 而不是由程序调用,当程序希望调用paint方法时,用repaint命令 • paint方法的参数是Graphics类的对象 g,它在java.awt.Graphics内 • paint(Graphicd g){。。。}

  8. AWT thread(waiting) repaint() Exposure update() { clear arae call paint() paint()

  9. 小试身手 • 2.2.1 起始页上的时间和日期 • 介绍两个类: 1. 类名:Date 创建一个实例 Date timeNow=new Date(); 2. 类名Font 创建一个实例 Font msgFont=new Font(“TimesRoman”,Font.ITALIC,30); 0Mon Dec 07 14:23:50 GMT+08:00 1998

  10. 看下面的例子,想一想生命周期的四个方法哪去了?看下面的例子,想一想生命周期的四个方法哪去了? import java.awt.*; import java.util.Date; public class showDate extends java.applet.Applet { Date timeNow=new Date(); Font msgFont=new Font(“TimesRoman”,Font.ITALIC,30); public void paint(Graphics g) { g.setFont(msgFont); g.setColor(Color.blue); g.drawString(timeNow.toString(),5,50); }

  11. import java.awt.*; import java.util.Date; public class showDate extends java.applet.Applet { Date timeNow=new Date(); String title; Font msgFont=new Font(“TimesRoman”,Font.ITALIC,30); public void paint(Graphics g) { g.setFont(msgFont); g.setColor(Color.blue); g.drawString(title+ timeNow.toString(),5,50); } public void init() {title=getParameter (“rem”); if (title==null) title=“”; }

  12. 0 x y 3 图形处理 3.1图形坐标系统 任何与绘图有关的操作 第一个要用的是 java.awt.Graphics类 Graphics类的对象不是 由new产生的,而是由系 统或其他方式直接将生好的Graphics对象当作方法的参数,再交给程序设计者去处理.例如: paint(Graphics g)

  13. Graphics的方法 paint(Graphics g) { g.clearRect(); g.copyArea(); g.drawAre() ; g.drawLine(); g.drawOval();g.drawRect(); g.drawPolygon(); g.fillArc(); g.fillOval(); g.fillPolygen(); g.fillRect(); g.getColor(); g.getFont() g.setFont(); g.setColor(); g.getFontMetrics() g.fillRoundRect() }

  14. 2 字型和颜色的设置 字型设置的方法 Font font=new Font(“TimesRoman”,Font.ITALIC,24); g.setFont(font); • 在小应用程序中显示输出的方法 g.drawString(String, int x, int y); g.drawChars(char data[], int offset, int length, int x, int y);

  15. g.drawBytes(byte data[],int offset, int length, int x, int y); 例:g.drawString(“This is a test”,5,10); • 获取字体的属性 Font font=g.getFont(); • Font类中常用的方法 GetFamily() getName() getSize() getStyle() isItalic() isPlain() isBold() toString()

  16. import java.awt.Graphics; import java.awt.Font; public class drawtext extends java.applet.Applet { Font fn=new Font("TimesRoman",Font.ITALIC,20); public void paint(Graphics g) { g.setFont(fn); g.drawString(”Font demo”,5,10); } } Font demo

  17. 获取更详细的数据 请查阅有关FontMetrics类的方法 fontMetrics=getFontMetrics(font); • FontMetrics中比较重要的方法有: stringWidth, charWidth, getAscent, getDescent, getLeading, getHeigh

  18. 图形处理 颜色的调整 • Color对象的使用 创造自己的颜色: Color mycolor=new Color(int red, int blue, int green); • g.setColor(Color.yellow) • g.setColor(mycolor); • 例:随机产生颜色,并画圆

  19. import java.awt.Graphics; import java.awt.Color; public class drawcircle extends java.applet.Applet { public void paint(Graphics g) { int red,green,blue,x; for (x=0;x<370;x+=30){ red=(int)Math.floor(Math.random()*256); green=(int)Math.floor(Math.random()*256); blue=(int)Math.floor(Math.random()*256); g.setColor(new Color(red,green,blue)); g.fillOval(x,0,30,30); }}}

More Related