熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

同網頁之內兩個Applet通信

2013-11-23 19:26:47  來源: Java核心技術 

  程序代碼:
  Appletjava 源碼
  
  import javaawt*;
  import javaawtevent*;
  import javaapplet*;
  
  public class Applet extends Applet
  {
  TextField tf = new TextField(Applet你能收到嗎?); // 定義文本框
  Button b = new Button(發送到Applet); // 發送按鈕
  
  public void init()
  {
  setLayout(new FlowLayout()); // 設置布局管理器為FlowLayout
  add(tf);
  add(b);
  }
  
  public boolean action(Event ev Object obj) // 處理按鈕事件
  {
  if(evtarget instanceof Button) // 如果事件是從按鈕來的
  {
  String msg = tfgetText();
  Applet applet = (Applet)getAppletContext()getApplet(Applet);
  if(applet != null) // 取Applet的句柄
  {
  appletAppendText(msg); // 調用applet中的函數
  return true;
  }
  else
  {
  tfsetText(沒有找到Applet);
  return false;
  }
  }
  return false;
  }
  }
  =================================================
  Appletjava 源碼
  
  import javaappletApplet;
  import javaawt*;
  
  public class Applet extends Applet
  {
  TextField text = new TextField();
  
  public void init()
  {
  setLayout(new FlowLayout());
  add(text);
  }
  
  public void AppendText(String msg) // <<--- 聲明為公開方法以便applet1調用
  {
  text.setText("我收到了!是\""+msg+"\"");
  }
  }
  說明:Applet類中可以取得網頁的上下文句柄,因此,同網頁內的兩個Applet是可以互相訪問到的,在本例中注意Applet2的HTLM代碼一定要加上name="Applet2",否則無法取得Applet2得句柄.編譯的時候先編譯Applet2,這樣Applet1中才能引用Applet2這個類.JB下例子通不過,需要在IE中執行.

From:http://tw.wingwit.com/Article/program/Java/hx/201311/26878.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.