IE+Cortona+JDK(1.3.1,1.6.0_05)+VRML97.jar 无法使用Java脚本,为什么?

在自己的机子中做了如下的设置,但在加载VRML文件后,仍然无法运行Java脚本,使用的是JSAI接口。哪位高手知道解决办法,请不吝赐教,在此谢谢了!

机子设置
1.      安装了 Cortona VRML 客户端插件, IE 能够解析 VRML 文件。
2.      安装了 JDK(1.3.1 版本 ) JDK(1.6.0_05 版本 ) ,设置了 VRML97.jar 包,可以编写和编译 JSAI 脚本。
3.      设置的 JDK 环境变量如下:
(1) JAVA_HOME = C:/Program Files/Java/jdk1.3.1_16
(2) CLASSPATH =
.;%JAVA_HOME%/lib;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/vrml97.jar
    (3) PATH = %JAVA_HOME%/bin;%JAVA_HOME%/jre/bin;
4.      IE-> 选项 -> 高级中的设置如下图:
            
 
代码
VRML 文件如下 :
#VRML V2.0 utf8
Shape
{
       geometry DEF text Text
       {
              string "Hello!"
       }
}
DEF Controller Script
{
       field SFNode text USE text
       url "JSAITextChanged.class"
}
脚本 JSAITextChanged.class 源码如下:
import java.awt.*;
import java.awt.event.*;
import vrml.*;
import vrml.field.*;
import vrml.node.*;
 
 
public class JSAITextChanged extends Script {
 
       private MFString textNode = null ;
       public void initialize()
       {
              Node node = (Node)((SFNode)getField( "text" )).getValue();
              textNode = (MFString)(node.getExposedField( "string" ));
              PopupWindow p = new PopupWindow();
              //p.pack();
              p.setVisible( true );
       }
      
       private void setText(String s)
       {
              String[] str = new String[1];
              str[0] = s;
              textNode .setValue(str);
             
       }
       class PopupWindow extends Frame
       {
              private Label red = new Label( "Please input text" );
              private TextField text = new TextField( "Hello!" );
              private Button submit = new Button( "OK" );
              public PopupWindow()
              {
                     FlowLayout f = new FlowLayout();
                     setLayout(f);
                     f.setHgap(5);
                     add( red );
                     add( text );
                     add( submit );
                     add( submit );
                     submit .addActionListener( new ActionListener()
                     {
                            public void actionPerformed(ActionEvent e)
                            {
                                   setText( text .getText());
                            }
                     });
              }
       }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值