|
2)AppletViewer仅支持标记,其它标记不会被显示出来。
经过精心设计,可以使java程序同时是Applet与Application,如下例所示:
例6.9 import java.awt.*; import java.awt.event.*; public class AppletApp extends Applet { public void main(String args[]) { Frame frame=new Frame("Application"); //构造一个Frame AppletApp app=new AppletApp(); frame.add("Center",app); frame.setSize(200,200); //改变Frame的尺寸
frame.validate(); frame.setVisible(true); //使Frame可见 frame.addWindwoListener(new WindowControl(app)); //给Frame加入监听器 app.init(); //初始化Applet app.start(); //运行该Applet } public void paint(Graphics g) { //重画方法 g.drawString("hello world",25,25); } public void destroy(){ System.exit(0); } }
class WindowControl extends WindowAdapter { //监听器类 Applet c; public WindowControl(Applet c) { //构造函数 this.c=c; } public void windowClosing(WindowEvent e) { //关闭窗口时调用的方法 c.destroy( ); } }
6.3.2 Applet的AWT绘制

Applet程序中所采用的AWT的绘图机制主要涉及三个方法:paint()方法、update()方法和repaint()方法,update()方法和paint()方法都有一个Graphics类参数。Graphics是画图的关键,它可以支持两种绘图:一种是基本的绘图,如:画线、矩形、圆等;另一种是画图象,主要用于动画制作。
要进行绘图,首先要找到一个Graphics类的对象。update()方法和paint()方法所传递的参数都是Graphics类的对象,因此主要是通过重载它们来进行绘图,这是在动画程序中经常使用的方法。我们还可以通过getGraphics()方法得到一个Graphics类的对象,这个对象和update()方法和paint()方法中所传递的对象一样,都是该成员所对应的Graphics类的对象。得到了Graphics类的对象,就可使用各种绘图方法。
Graphics中提供的图形绘制方法有: paint( ) //进行绘图的具体操作,必须有程序员重写 update( ) //用于更新图形,先清除背景、前景,再调用paint() repaint( ) /*用于重绘图形,在组件外形发生变化,即大小改变或位置移动时,repaint( )方法立即被系统自动调用,而实际上repaint()方法是自动调用update()方法*/
下面的方法支持基本的绘图和画图像: void drawLine( ) void drawArc( ) void drawPolygon( ) void drawRect( ) void drawRoundRect( ) void fill3DRect( ) void fillOval( ) java.awt.Graphics类 输出文字: void drawBytes( ) void drawChars( ) void drawString( )
Applet 的AWT绘制举例如下: 例6.10 import java.awt.*; import java.awt.event.*; import java.applet.*; public class ArcTest extends Applet implements WindowListener { ArcControls controls; pulic void init(){ //Applet的入口方法 setLayout(new BorderLayout()); ArcCanvas c=new ArcCanvas();
Add("Center",c); add("South",controls=new ArcControls(C)); } public void start(){ 本新闻共 6页,当前在第 3页 1 2 3 4 5 6 |