偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Java Swing編程:Applet和JApplet

開(kāi)發(fā) 后端
雖然現(xiàn)在已經(jīng)不是Applet的時(shí)代了,applet過(guò)于強(qiáng)大導(dǎo)致客戶端的不安全性,還要求客戶端安裝JAVA運(yùn)行環(huán)境,flash已經(jīng)成為web應(yīng)用的主流,現(xiàn)在每個(gè)游覽器基本都安裝了flash播放器,但Applet可是Java語(yǔ)言的開(kāi)端。

雖然現(xiàn)在已經(jīng)不是Applet的時(shí)代了,applet過(guò)于強(qiáng)大導(dǎo)致客戶端的不安全性,還要求客戶端安裝JAVA運(yùn)行環(huán)境,flash已經(jīng)成為web應(yīng)用的主流,現(xiàn)在每個(gè)游覽器基本都安裝了flash播放器,但Applet可是Java語(yǔ)言的開(kāi)端。

Applet和一般的java程序最大區(qū)別就是沒(méi)有main函數(shù)入口,他是通過(guò)繼承Applet類(lèi)。

這個(gè)類(lèi)有5個(gè)特殊方法

init:初始化

start:?jiǎn)?dòng)時(shí)執(zhí)行

stop:停止

destroy:于init相對(duì)

paint:繪制界面

下面看具體代碼,eg

  1. public class HelloApplet extends JApplet  
  2. {  
  3.  
  4.  
  5.     //初始化Applet的方法  
  6.     public void init()  
  7.     {  
  8.         setLayout(new FlowLayout());  
  9.         add(new JButton("XXX"));  
  10.         add(new JButton("YYY"));  
  11.     }  
  12.     //啟動(dòng)Applet的方法  
  13.     public void start()  
  14.     {  
  15.         System.out.println("start方法");  
  16.     }  
  17.     //繪制Applet界面的方法  
  18.     public void paint(Graphics g)  
  19.     {  
  20.         super.paint(g);  
  21.         System.out.println("paint方法");  
  22.         g.drawLine(3 , 3 , 200 , 300);  
  23.     }  
  24.     //停止Applet的方法  
  25.     public void stop()  
  26.     {  
  27.         System.out.println("stop方法");  
  28.     }  
  29.     //銷(xiāo)毀Applet的方法  
  30.     public void destroy()  
  31.     {  
  32.         System.out.println("destroy方法");  
  33.     }  
  34.     public static void main(String[] args)  
  35.     {  
  36.         JFrame jf = new JFrame();  
  37.         JApplet panel = new HelloApplet();  
  38.         panel.setPreferredSize(new Dimension(300400));  
  39.         //顯式調(diào)用HelloApplet對(duì)象的init、start方法  
  40.         panel.init();  
  41.         panel.start();  
  42.         jf.add(panel);  
  43.         jf.pack();  
  44.         jf.setVisible(true);  
  45.     }  

其中我們把Applet當(dāng)成容器來(lái)使用,把他加入JFrame,用main作為入口運(yùn)行。

放到網(wǎng)頁(yè)中就不需要main,但要通過(guò)網(wǎng)頁(yè)掉用

調(diào)用方法如下

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

這個(gè)文件一般利用JDK目錄下的bin中的HtmlConverter來(lái)轉(zhuǎn)換,手動(dòng)寫(xiě)對(duì)不同游覽器還是挺吃力的。

下面再看個(gè)Applet動(dòng)畫(huà),eg

  1. public class ScApplet extends Applet  
  2. {  
  3.     final String testStr = "Java真好玩,學(xué)習(xí)很有趣!";  
  4.     //用于保存字符串下一次出現(xiàn)的座標(biāo)  
  5.     private int nextX;  
  6.     private int nextY;  
  7.     private Color nextColor;  
  8.     private Font nextFont;  
  9.     java.util.Random rand = new java.util.Random(System.currentTimeMillis());  
  10.     public void init()  
  11.     {  
  12.         Timer timer = new Timer(200 , new ActionListener()  
  13.         {  
  14.             public void actionPerformed(ActionEvent event)  
  15.             {  
  16.                 //隨機(jī)生成下一次座標(biāo)、顏色、字體大小  
  17.                 nextX = rand.nextInt(400);  
  18.                 nextY = rand.nextInt(300);  
  19.                 nextColor = new Color(rand.nextInt(255) , rand.nextInt(255) , rand.nextInt(255));  
  20.                 nextFont = new Font("Times" , Font.BOLD , rand.nextInt(60));  
  21.                 //強(qiáng)制重繪  
  22.                 repaint();  
  23.             }  
  24.         });  
  25.         timer.start();  
  26.     }  
  27.     //繪制Applet界面的方法  
  28.     public void paint(Graphics g)  
  29.     {  
  30.         g.setColor(nextColor);  
  31.         g.setFont(nextFont);  
  32.         g.drawString(testStr, nextX, nextY);  
  33.     }  
  34.  
  35.     public static void main(String[] args)  
  36.     {  
  37.         JFrame jf = new JFrame();  
  38.         ScApplet panel = new ScApplet();  
  39.         panel.setPreferredSize(new Dimension(400300));  
  40.         panel.init();  
  41.         panel.start();  
  42.         jf.add(panel);  
  43.         jf.pack();  
  44.         jf.setVisible(true);  
  45.     }  

大家可以把玩下,其實(shí)還是挺好玩的。

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

【編輯推薦】

  1. Java Swing編程:拖放功能
  2. Java Swing編程:特殊容器
  3. Java Swing編程:基本組件
  4. Java Swing用戶界面設(shè)計(jì):序
  5. 用Swing制作精美的圖層疊加圖
責(zé)任編輯:林師授 來(lái)源: terryzero的博客
相關(guān)推薦

2009-07-15 10:14:14

JApplet和JFrSwing

2012-01-17 14:09:54

JavaSwing

2012-01-17 14:05:29

JavaSwing

2012-01-17 13:41:34

JavaSwing

2012-01-17 13:46:55

JavaSwing

2012-01-17 13:58:17

JavaSwing

2012-01-17 13:16:34

JavaSwing

2009-07-16 16:46:39

Swing窗體

2009-07-08 18:21:27

2009-07-08 18:16:02

Applet和Serv

2012-01-17 14:01:33

JavaSwing

2011-07-04 16:04:20

Applet

2010-09-17 10:16:26

Java Applet

2009-06-11 08:59:35

2009-07-15 15:35:59

Swing程序Swing性能

2009-07-09 10:05:55

2010-09-17 10:41:45

Java Applet

2012-03-28 13:11:35

JavaEclipse

2009-07-07 17:23:08

Java Servle

2009-07-10 17:20:38

Swing構(gòu)件AWT構(gòu)件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)