Java Swing编程:Applet和JApplet

开发 后端
虽然现在已经不是Applet的时代了,applet过于强大导致客户端的不安全性,还要求客户端安装JAVA运行环境,flash已经成为web应用的主流,现在每个游览器基本都安装了flash播放器,但Applet可是Java语言的开端。

虽然现在已经不是Applet的时代了,applet过于强大导致客户端的不安全性,还要求客户端安装JAVA运行环境,flash已经成为web应用的主流,现在每个游览器基本都安装了flash播放器,但Applet可是Java语言的开端。

Applet和一般的java程序最大区别就是没有main函数入口,他是通过继承Applet类。

这个类有5个特殊方法

init:初始化

start:启动时执行

stop:停止

destroy:于init相对

paint:绘制界面

下面看具体代码,eg

public class HelloApplet extends JApplet  
{  
 
 
    //初始化Applet的方法  
    public void init()  
    {  
        setLayout(new FlowLayout());  
        add(new JButton("XXX"));  
        add(new JButton("YYY"));  
    }  
    //启动Applet的方法  
    public void start()  
    {  
        System.out.println("start方法");  
    }  
    //绘制Applet界面的方法  
    public void paint(Graphics g)  
    {  
        super.paint(g);  
        System.out.println("paint方法");  
        g.drawLine(3 , 3 , 200 , 300);  
    }  
    //停止Applet的方法  
    public void stop()  
    {  
        System.out.println("stop方法");  
    }  
    //销毁Applet的方法  
    public void destroy()  
    {  
        System.out.println("destroy方法");  
    }  
    public static void main(String[] args)  
    {  
        JFrame jf = new JFrame();  
        JApplet panel = new HelloApplet();  
        panel.setPreferredSize(new Dimension(300400));  
        //显式调用HelloApplet对象的init、start方法  
        panel.init();  
        panel.start();  
        jf.add(panel);  
        jf.pack();  
        jf.setVisible(true);  
    }  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.

其中我们把Applet当成容器来使用,把他加入JFrame,用main作为入口运行。

放到网页中就不需要main,但要通过网页掉用

调用方法如下

<applet codebase="." code="HelloApplet" width=400 height=300 name="HelloApplet">  
<param name=name value="HelloApplet">  
</applet> 
  • 1.
  • 2.
  • 3.

这个文件一般利用JDK目录下的bin中的HtmlConverter来转换,手动写对不同游览器还是挺吃力的。

下面再看个Applet动画,eg

public class ScApplet extends Applet  
{  
    final String testStr = "Java真好玩,学习很有趣!";  
    //用于保存字符串下一次出现的座标  
    private int nextX;  
    private int nextY;  
    private Color nextColor;  
    private Font nextFont;  
    java.util.Random rand = new java.util.Random(System.currentTimeMillis());  
    public void init()  
    {  
        Timer timer = new Timer(200 , new ActionListener()  
        {  
            public void actionPerformed(ActionEvent event)  
            {  
                //随机生成下一次座标、颜色、字体大小  
                nextX = rand.nextInt(400);  
                nextY = rand.nextInt(300);  
                nextColor = new Color(rand.nextInt(255) , rand.nextInt(255) , rand.nextInt(255));  
                nextFont = new Font("Times" , Font.BOLD , rand.nextInt(60));  
                //强制重绘  
                repaint();  
            }  
        });  
        timer.start();  
    }  
    //绘制Applet界面的方法  
    public void paint(Graphics g)  
    {  
        g.setColor(nextColor);  
        g.setFont(nextFont);  
        g.drawString(testStr, nextX, nextY);  
    }  
 
    public static void main(String[] args)  
    {  
        JFrame jf = new JFrame();  
        ScApplet panel = new ScApplet();  
        panel.setPreferredSize(new Dimension(400300));  
        panel.init();  
        panel.start();  
        jf.add(panel);  
        jf.pack();  
        jf.setVisible(true);  
    }  

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.

大家可以把玩下,其实还是挺好玩的。

原文链接:http://blog.csdn.net/terryzero/article/details/3792261

【编辑推荐】

  1. Java Swing编程:拖放功能
  2. Java Swing编程:特殊容器
  3. Java Swing编程:基本组件
  4. Java Swing用户界面设计:序
  5. 用Swing制作精美的图层叠加图
责任编辑:林师授 来源: terryzero的博客
相关推荐

2009-07-15 10:14:14

JApplet和JFrSwing

2012-01-17 13:41:34

JavaSwing

2012-01-17 14:09:54

JavaSwing

2012-01-17 14:05:29

JavaSwing

2012-01-17 13:58:17

JavaSwing

2012-01-17 13:46:55

JavaSwing

2012-01-17 13:16:34

JavaSwing

2009-07-16 16:46:39

Swing窗体

2009-07-08 18:16:02

Applet和Serv

2009-07-08 18:21:27

2012-01-17 14:01:33

JavaSwing

2010-09-17 10:16:26

Java Applet

2011-07-04 16:04:20

Applet

2009-06-11 08:59:35

2009-07-15 15:35:59

Swing程序Swing性能

2010-09-17 10:41:45

Java Applet

2009-07-09 10:05:55

2012-03-28 13:11:35

JavaEclipse

2009-07-07 17:23:08

Java Servle

2009-07-17 11:13:46

AWT和SwingSwing组件
点赞
收藏

51CTO技术栈公众号