zoukankan      html  css  js  c++  java
  • Java 简单接触Applet

      Applet是在游览器执行Java程序的,他类似于插件,例如像ActiveX插件。Applet程序里运行的是各种不同的AWT方法,例如drawString。
      简单的了解一下Applet的应用,先来运行一段简单的Applet小程序

    import java.applet.Applet;
    import java.awt.Graphics;
    
    
    public class test1 extends Applet {
    
        public void paint(Graphics g){
            
            g.drawString("Hello Java", 0, 30);
        }
    }

      首先一个类要先继承Applet,这个类才拥有Applet的全部功能。想使用Applet在游览器上输出一段文字,必需在paint方法里实现,使用drawString方法。接着我们在生成test1.class的同级目录下创建一个HTML文件。文件里加如下代码:<applet code="test1" height="300" width="300"></applet> 。这时打开游览器就能看到游览器画出了HELLO JAVA这段文字了。
       下面四个方法:init(),start(),stop(),destory()是由Applet定义的,paint()方法是由AWT组件类定义的,这五个方法组成了程序的基本主框架

      

      init()方法使用示例,画线例子

    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.event.*;
    
    public class test1 extends Applet {
    
        public void paint(Graphics g){
            
            g.drawString("Hello Java",0,30);
        }
        
        public void init(){
            addMouseListener(new MouseAdapter(){
                int orgX;
                int orgY;
                public void mousePressed(MouseEvent e){
                    orgX = e.getX();
                    orgY = e.getY();
                }
                
                public void mouseReleased(MouseEvent e){
                    getGraphics().drawLine(orgX, orgY, e.getX(), e.getY());
                }
            });
        }
        
    }

      结合线程来创建动画例子,每隔一段时间,不停显示1-9的例子

    import java.applet.Applet;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.event.*;
    
    
    public class test1 extends Applet implements Runnable {
    
        int index=0;
        public void paint(Graphics g){
            g.setFont(new Font(null,Font.ITALIC|Font.BOLD,30));
            g.drawString(""+index,0,60);
        }
        
        public void init(){
            new Thread(this).start();
        }
        
        public void run(){
            while(true){
                try {
                    Thread.sleep(100);
                    index = (index + 1) % 10;
                    repaint();            
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
    
            }
        }    
    }

      

      调用repaint方法时,程序先清除以前画的内容,然后调用paint方法进行重画。

      


       来看一下上面张图片,可以看出调用repaint方法下面会去调用update方法,那么update方法的作用是什么?他的作用就是清除组件表面内容,然后调用paint引起窗体重画。如果我们想不调用repaint方法,直接使用update方法,那么我们必须自已手动去清除画面,并进行重画,所以需要实现一个update方法,例如下面这样:

    public class test1 extends Applet implements Runnable {
    
        int index=0;
        public void paint(Graphics g){
            g.setFont(new Font(null,Font.ITALIC|Font.BOLD,30));
            g.drawString(""+index,0,60);
        }
        
        public void init(){
            new Thread(this).start();
        }
        
        public void run(){
            while(true){
                try {
                    Thread.sleep(100);
                    index = (index + 1) % 10;
                    update();        
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
    
            }
        }
    
        public void update()
        {
            //...
            paint();
        }
    }
  • 相关阅读:
    win8及win8.1商店出现0X80073CF9的解决办法!
    Ubuntu 14.04 登陆界面循环问题解决
    Java学习笔记-Json
    Java学习笔记-Thread-线程
    git学习笔记
    Java学习笔记-File
    java学习笔记-set
    C# 实验4 数据库
    C#文件处理
    C#-实验3
  • 原文地址:https://www.cnblogs.com/cxeye/p/2683363.html
Copyright © 2011-2022 走看看