|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。
择要
您大概以为能让applet相互通讯的独一选择就是利用getApplet。不幸的是,getApplet办法仅前往与收回挪用的applet在统一个HTML页面上的applet,如许就限定了您经由过程applet间的通讯构建风趣界面的体例。这篇技能申明的替换办法能使处于分歧框架乃至分歧扫瞄器窗口中的applet相互挪用对方的办法。
java.applet包中的AppletContext类包括两个成员办法,即getApplet和getApplets。经由过程利用这两个办法,一个applet就能够找到其他applet并挪用它们的办法。要如许做必需满意上面的平安请求:
这些applet来自统一个服务器上的统一个目次中。
这些applet运转于统一个扫瞄器窗口中的统一个页面上。
如许计划平安限定大概有很好的缘故原由;可是,后一个请求限定了使用applet间的通讯制造风趣的多applet界面的体例。
试思索如许一种情形:
您刚编好一个很好的股票市场买卖applet,并决意为它编写一个优秀的匡助体系。您但愿匡助体系也是一个applet,并但愿将它与股票市场买卖applet在分歧的扫瞄器框架中运转。您作出这个决意多是出于网站布局方面的思索,也多是出于一直显现匡助体系的必要。别的,您但愿使匡助体系依据用户以后在股票买卖applet中举行的操纵转至准确的信息/引导(就像MicrosoftOffice套件中的“回形针”一样)。您乃至企图在匡助体系中体例导游,这些导游可远程指出成绩,并可远程实行股票市场买卖applet中的义务。
这一计划中表现的头脑很不错。可是,由于这两个applet处于分歧的页面上,以是AppletContext中的JavaAPI没法匡助您完成这个设法--但这篇技能能够匡助您。
利用AppletContextAPI
在申明applet间通讯的替换机制前,我将起首扼要申明一下getApplet和getApplets这两个办法是怎样事情的。一个applet经由过程利用getApplet办法能够按称号找到统一个HMTL页面中的另外一个applet,而经由过程利用getApplets办法能够找到统一个页面上的一切applet。这两个办法假如乐成实行,则会向挪用者前往一个或多个Applet对象。挪用者一旦找到一个Applet对象,它便可能挪用这个Applet的公用办法。
假定有上面如许一段HTML代码:
<appletcode="Applet1"width="400"height="100"name="app1">
</applet>
<br>
<appletcode="Applet2"width="400"height="100"name="app2">
</applet>
<br>
经由过程利用applet标志中的name属性,您就能够用上面的体例援用一个特定的applet:
ApplettheOtherApplet=getApplet("app1");
theOtherApplet.anyMethod();//挪用任一个公用办法
大概,您也能够用以下的代码来检索这个页面上的一切applet:
EnumerationallAppletsOnSamePage=getApplets();
while(allAppletsOnSamePage.hasMoreElements()){
Appletappl=(Applet)allAppletsOnSamePage.nextElement();
appl.anyMethod();//挪用任一个公用办法
}
当收回挪用的applet在它地点的统一个HTML页面上检索到一个或几个applet以后,它就能够挪用这些applet的公用办法。
<p>
学习JAVA的目的更多的是培养自身的工作能力,我觉得工作能力的一个核心就是:独立思考能力,因为只有独立思考后,才会有自己的见解 |
|