無為

          無為則可為,無為則至深!

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
          可以寫一個"容器"類使得兩個applet可以相互通信
          一個拙劣的參考實現

          import java.applet.Applet;
          import java.awt.Button;
          import java.awt.event.ActionEvent;
          import java.awt.event.ActionListener;
          import java.awt.event.WindowAdapter;
          import java.awt.event.WindowEvent;
          import java.awt.Frame;
          public class E{
           public A1 a1;
           public A2 a2;
           public Frame f;
           public static void main(String[] args){
            E main = new E();
            main.f = new Frame("main frame");
            main.f.setSize(400, 300);
            main.f.addWindowListener(new WindowAdapter(){
             public void windowClosing(WindowEvent e){
              System.exit(0);
             }
            });
            A1 a1 = new A1(main);
            a1.init();
            a1.start();
            main.f.show();
           }
          }
          class A1 extends Applet{
           private E controller;
           public A1(E controller){
            super();
            this.controller = controller;
            controller.a1 = this;
            controller.f.add(this);
            controller.f.setTitle("Using by A1");
           }
           public void init(){
            super.init();
            Button b = new Button("Start A2");
            b.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
              controller.a1.stop();
              controller.a1.destroy();
              controller.a2 = new A2(controller);
              controller.a2.init();
              controller.a2.start();
              controller.f.show();
             }
            });
            this.add(b);
           }
           public void destroy(){
            controller.f.remove(this);
            super.destroy();
           }
          }
          class A2 extends Applet{
           private E controller;
           public A2(E controller){
            super();
            this.controller = controller;
            controller.a2 = this;
            controller.f.add(this);
            controller.f.setTitle("Using by A2");
           }
           public void init(){
            super.init();
            Button b = new Button("Start A1");
            b.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
              controller.a2.stop();
              controller.a2.destroy();
              controller.a1 = new A1(controller);
              controller.a1.init();
              controller.a1.start();
              controller.f.show();
             }
            });
            this.add(b);
           }
           public void destroy(){
            controller.f.remove(this);
            super.destroy();
           }
          }


          凡是有該標志的文章,都是該blog博主Caoer(草兒)原創,凡是索引、收藏
          、轉載請注明來處和原文作者。非常感謝。

          posted on 2005-12-14 13:05 草兒 閱讀(702) 評論(3)  編輯  收藏 所屬分類: Java編程經驗談

          Feedback

          # re: 兩個獨立運行的java applet如何調用 2013-06-04 10:11 xxoo
          看不懂,  回復  更多評論
            

          # re: 兩個獨立運行的java applet如何調用 2013-06-04 10:20 xxoo
          一個用的是 5.1.0_01 -Djava.class.path=C:\PROGRA~1\Evermore\EIOffice\EIOffice.jar -Dsun.java2d.ddlock=true -Dsun.awt.noerasebackground=true -Dsun.java2d.noddraw=true
          一個用的是 5.1.10  回復  更多評論
            

          # re: 兩個獨立運行的java applet如何調用 2013-06-04 10:21 xxoo
          一個用的是 5.1.0_01 -Djava.class.path=C:\PROGRA~1\Evermore\EIOffice\EIOffice.jar -Dsun.java2d.ddlock=true -Dsun.awt.noerasebackground=true -Dsun.java2d.noddraw=true
          一個用的是 5.1.0_10   回復  更多評論
            

          主站蜘蛛池模板: 南乐县| 苏尼特右旗| 体育| 永平县| 罗平县| 固镇县| 叙永县| 平乡县| 枝江市| 宁明县| 克拉玛依市| 绩溪县| 绥化市| 巴彦淖尔市| 石景山区| 南木林县| 张家界市| 南溪县| 六枝特区| 长治县| 永仁县| 荔波县| 宁强县| 文登市| 鄂伦春自治旗| 沙洋县| 富平县| 富阳市| 瓮安县| 临猗县| 西平县| 板桥市| 龙山县| 沾益县| 和林格尔县| 潜江市| 资讯 | 孙吴县| 安顺市| 泾川县| 鸡西市|