当前位置:  技术问答>java相关

简单问题,applet???

    来源: 互联网  发布时间:2015-02-28

    本文导语:  applet可不可响应事件退出IE,例如:按下按扭退出IE,如果可以怎么做,谢谢。 | call javascript window.close() Call Javascript from a Java applet Netscape only A Javascript function is called from Java by usi...

applet可不可响应事件退出IE,例如:按下按扭退出IE,如果可以怎么做,谢谢。

|
call javascript window.close()
Call Javascript from a Java applet


Netscape only
A Javascript function is called from Java by using the showDocument method. A URL is needed with "javascript:" as the protocol. 
[Java applet] import java.applet.*;
import java.net.*;

public class inJava extends Applet{
  public void init(){
    String msg = "We will jump to an HTML tag";
    try {
      getAppletContext().showDocument
        (new URL("javascript:doAlert("" + msg +"")"));
      getAppletContext().showDocument
        (new URL("javascript:jumpTo("#JUMP")"));
      }
    catch (MalformedURLException me) { }
    } 
  }
 



[Javascript and HTML] 

function doAlert(s) {
   alert(s);
   }
function jumpTo(tag) {
   self.location=tag;
   }




jump here from Java via Javascript


 



Netscape AND Microsoft Internet Explorer v4
With IE4, Microsoft included the Netscape package netscape.javascript.* to allow a JAVA applet access to Javascript objects. To compile such Applet, you must adjust the CLASSPATH to include the Netscape java40.jar. To use the Netscape JAR, the CLASSPATH will look like this: set CLASSPATH=
   .;c:windevjdk1.1.3libclasses.zip;
           c:Program FilesNetscapeCommunicatorProgramJavaClassesjava40.jar;
 


Note that your CLASSPATH may be different depending on your JDK installation/version 
To compile with IE, first locate the javapackages directory in the Windows or WinNt directory. You will find a bunch a zip files with strange names. On my installation (IE5), the file Qk1r3vrp.zip is the one containing the 2 classes you need, JSObject.class and JSException.Class. Include this zip in the classpath before compiling (or you can extract the 2 files (with directory) and create a new smaller ZIP (again with the directory) and use the new zip in the classpath). Note that if you compile with the Microsoft compiler, you don't need to do this. 

In the following example, you type in the TextField a Javascript function and press the button to execute the function. For example, try alert('Hello from JAVA'). Or you can execute function defined on the same page as the Applet. The Applet must contains the MAYSCRIPT parameter to be able to use JSObject. import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import netscape.javascript.*;

public class jsJAVA extends Applet implements
    ActionListener {
  Button b;
  TextField t;
  
  public void init() {
     t = new TextField(20);
     add(t);
     b = new Button("execute Javascript");
     add(b);
     b.addActionListener(this);
     }
  
  public void actionPerformed(ActionEvent ae) {
     if (ae.getSource() == b) {
       JSObject win = (JSObject) JSObject.getWindow(this);
       win.eval(t.getText());
       }
     }
  }
 



Another way is to use the Reflection API. That way you don't need to modify your CLASSPATH for compilation or even import the netscape.jsobject package. // posted by C Werner on the realhowto list
import java.lang.reflect.*;
...
// Somewhere in the applet class ...
...
String jscmd = "window.close()";  /* JavaScript command */
String jsresult = null;
boolean success = false;
try {
  Method getw = null, eval = null;
  Object jswin = null;
  Class c = 
    class.forName("netscape.javascript.JSObject"); /* does it in IE too */
  Method ms[] = c.getMethods();
  for (int i = 0; i 


    
 
 

您可能感兴趣的文章:

  • Applet问题,applet在tomcat+apache环境下是否支持FileDialog类,急,急 !!!!快来抢分呀!!!!
  • applet与jsp通讯问题:applet为何不能正确显示网页?
  • applet在jbuilder环境下没问题,用ie调用出applet can't be instantiated,什么原因呢?
  • 最简单的applet问题
  • 我用JBuilder写了一个applet,在IE中能正常显示。奇怪的是我再给该applet加一个控件(awt的label),编译运行没有问题,可是在IE中没有显示后来加的那个label。请各位高手指教!!!
  • 关于jbuilder中的applet问题??20分
  • 一定给分!!!applet的问题
  • 关于APPLET执行问题!
  • 还是applet的socket的问题,请多指教。
  • 关于APPLET参数的的问题
  • 关于applet的一个问题!
  • applet小问题,我却不能搞定
  • 代码中嵌入<APPLET>标记的问题
  • Applet嵌入网页问题
  • 一个Applet的问题
  • applet密码验证的问题?
  • 关于applet与servlet交互访问数据库的问题?
  • applet发布的问题,高人看过来
  • applet插入jsp后出现了问题.
  • 关于在applet中使用窗口的问题:
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 修改配置真正解决php文件上传大小限制问题(nginx+php)
  • 简单问题简单问题简单问题简单问题
  • 修改配置真正解决php文件上传大小限制问题(apache+php)
  • 小问题,急问题,重大问题!!!
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路 iis7站长之家
  • 弱弱的一问,linux下的中文问题及网络问题,分不是问题
  • 八个问题帮你快速了解Docker
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • 错误:将'const x'作为'x'的'this'实参时丢弃了类型限定问题解决
  • 网页的编码问题!或者java的编码问题,由此引出一条解决中文问题的思路
  • nginx Windows版相关问题及使用说明
  • 死锁的问题 多级锁定问题 循环锁定问题
  • vs2010下禁用vmware的方法以及解决vmware插件导致vs2010变慢的问题
  • [问题]双系统出现的问题!求问题的原因和解决办法!
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 初学者问题。一个是编译hello world的问题,一个是配置ssh的问题
  • c/c++服务器程序内存泄露问题分析及解决
  • C程序问题:哪个高手帮我解释下下面的问题,主要是a[0]和&[0] 的区别 和编译器的问题??
  • ​部署 Docker 前必须问自己的四个问题
  • swing的问题还是jbuiler的问题??
  • spring的事务类型及spring和hibernate可能导致的问题分析
  • 菜鸟第一次安装红帽子7.2的一箩筐问题。每个问题会开个帖子,各放100分!请有安装经验的老鸟们帮忙解决。第二个问题:什么是LILO?怎么样


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3