首页 > 技术文章 > java applet 一个简单的例子(applet+html)

bigsaltfish 2016-06-07 15:55 原文

java applet是一个类,其层次结构如下图: 
类 JApplet 
java.lang.Object 
  java.awt.Component 
      java.awt.Container 
          java.awt.Panel 
              java.applet.Applet 
                  javax.swing.JApplet
 

编写applet类,继承Applet或是JApplet,然后完成init方法,在创建一个加载applet的html页面

[java] view plain copy
  1. package ch10;  
  2.   
  3. /** 
  4.    @version 1.21 2004-05-07 
  5.    @author Cay Horstmann 
  6. */  
  7.   
  8. /* 
  9.   The following HTML tags are required to display this applet in a browser: 
  10.   <applet code="NotHelloWorldApplet.class" width="300" height="100"> 
  11.   </applet> 
  12. */  
  13.   
  14. import javax.swing.*;  
  15.   
  16. public class NotHelloWorldApplet extends JApplet  
  17. {  
  18.    public void init()  
  19.    {  
  20.       JLabel label = new JLabel("Not a Hello, World applet", SwingConstants.CENTER);  
  21.       add(label);  
  22.    }  
  23. }  

[html] view plain copy
  1. <applet code="ch10.NotHelloWorldApplet.class"  
  2.    width="300" height="100">  
  3. </applet>  

编译applet:

javac NotHelloWorldApplet.Java

而后用applet查看器appletviewer查看html:

appletviewer NotHelloWorldApplet.class

或者是直接打开html文件(需浏览器支持JAVA(TM)插件)。


编写一个Applet,在途中加入标签“旋转角度”和文本框,安排两个按钮“顺时针旋转”和“逆时针旋转”,在文本框中填写旋转角度,通过按钮实现旋转.

[java] view plain copy
  1. import java.applet.*;  
  2. import java.awt.*;  
  3. import java.awt.event.*;  
  4. import java.awt.geom.*;  
  5.   
  6. public class g2DRotate2 extends Applet implements ActionListener{  
  7.  Label label;  
  8.  TextField angle;  
  9.  Button b1,b2;  
  10.  int flag=1;  
  11.    
  12.  public void init(){  
  13.   setLayout(null);  
  14.   label=new Label("旋转角度:");  
  15.   label.setBounds(250,100,65,20);  
  16.     
  17.   angle=new TextField("0.0",10);  
  18.   angle.setBounds(330,100,65,20);  
  19.     
  20.   b1=new Button("顺时针旋转");  
  21.   b2=new Button("逆时针旋转");  
  22.   b1.setBounds(250,130,65,20);  
  23.   b2.setBounds(330,130,65,20);  
  24.   b1.addActionListener(this);  
  25.   b2.addActionListener(this);  
  26.     
  27.   add(label);  
  28.   add(angle);  
  29.   add(b1);  
  30.   add(b2);  
  31.     
  32.   show();  
  33.  }  
  34.    
  35.  public void paint(Graphics g){  
  36.   int x=130,y=100;  
  37.   int i=0;  
  38.   Graphics2D g2=(Graphics2D)g;  
  39.   g.setColor(Color.blue);  
  40.   g2.draw(new Ellipse2D.Double(x,y,20,90));  
  41.     
  42.   g.setColor(Color.black);  
  43.   g.drawRect(x,y,20,90);  
  44.     
  45.   g2.translate(150,100);//平移到(150,100),作为下面旋转的起点  
  46.   if(flag==1)  
  47.    g2.rotate(Double.parseDouble(angle.getText()));//将角度转换成弧度  
  48.   else  
  49.    g2.rotate(-Double.parseDouble(angle.getText()));  
  50.   g.setColor(Color.blue);  
  51.   g2.draw(new Ellipse2D.Double(-20,0,20,90));  
  52.     
  53.   g.setColor(Color.black);  
  54.   g.drawRect(-20,0,20,90);   
  55.  }  
  56.  public void actionPerformed(ActionEvent e) {  
  57.   if(e.getSource()==b1){  
  58.    flag=1;  
  59.    repaint();  
  60.   }else{  
  61.    flag=-1;  
  62.    repaint();  
  63.   }  
  64.  }  
  65. }  


个人在360浏览器调试成功



转自:http://blog.csdn.net/caomiao2006/article/details/17536187



code下载

http://pan.baidu.com/s/1kU5miUj

推荐阅读