【问题标题】:Trigger an applet button from javascript从 javascript 触发小程序按钮
【发布时间】:2011-01-18 10:29:45
【问题描述】:

我想在使用 javascript 点击普通 html 按钮时触发一个小程序按钮

public class appletToWrite extends Applet{
Button write;
static String msPath;
static String msData;
public appletToWrite()
{
    this.write = new Button("Save");
}

public static void initializeData(String asPath, String asData){
    msPath = asPath;
    msData = asData;
}

public void init() { 
    add(this.write, "Center");
    this.write.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent paramActionEvent) {
            foo();
        }
    }); }


public void foo(){
    new appletToWrite.WriteText();
}

public class WriteText {
    WriteText() {
        try {
            String str2 = "D:\\Documents and Settings\\varun.aggarwal\\Desktop\\sample\\wow.htm";
            File localFile = new File(str2);
            localFile.createNewFile();
            BufferedWriter localBufferedWriter = new BufferedWriter(new FileWriter(localFile, true));
            String str1="helllllllo";
            localBufferedWriter.write(str1);
            localBufferedWriter.close();
            JOptionPane.showMessageDialog(null, "File Successfully Saved!!! ");

        }
        catch (Exception localException) {
            JOptionPane.showMessageDialog(null, localException.getMessage());
        }
    }
}

}

有可能吗???

这与权限有关,因为我发现文件 IO 权限仅在我单击小程序按钮时才可用,而不是在我单击 html 按钮并调用小程序方法 foo 时才可用

【问题讨论】:

    标签: java javascript applet


    【解决方案1】:

    是的,JavaScript 到 Applet 和 Applet 到 Javascript 都是可能的。

    查看此页面以获取代码示例:Java - Javascript interaction

    【讨论】:

    • 基本上我想调用applet中包含的按钮的actionlistner
    • 只需创建一些JS可以调用的公共方法,并让该方法被按钮的动作监听器调用。然后从 JS 调用该方法将为您提供与单击按钮相同的行为。 raditha.com/java/alert.php
    • 我不明白你的最后评论。您的意思是 raditha.com/java/alert.php 中显示的示例在您的浏览器/JRE 中不起作用吗?如果答案是“是”,浏览器的品牌和版本是什么,以及 Java 的供应商/版本是什么? (它在 Win 7 上运行来自 Sun 的 Java 1.6.0_23 的 FF 的 latish 版本中工作。)
    • 我的意思是我尝试了同样的事情,但它不适合我,这个例子工作正常......基本上我想从 javascript 触发一个小程序按钮的动作监听器
    • 那么这意味着你错过了一些东西,因为例子是好的,你的代码不是。查看所有示例,仔细创建代码,首先在相似/相等的环境中进行测试(这非常重要),但在此之前先休息一下。在一个问题上花太多时间会让你错过明显的错误,一直在你面前=)
    【解决方案2】:

    在小程序中创建一个方法,将所有代码包装在该方法中,并从动作侦听器调用该方法 foo()。

    喜欢

    actionPerformed(){
            foo();
        }//just illustration
    

    现在

    <applet code="com.yourcompany.MyApplet"
    mayscript="true" name="myApplet" width="200" height="100">
    

    myApplet 将有 foo(); 所以来自 javascript

    myApplet.foo();//it will call that method
    

    【讨论】:

    • @jigar - 没有工作:(它的发生就像我用javascript调用相同的方法时它不起作用但是当applet按钮调用相同的方法时只有它起作用......这就是原因我想触发小程序按钮
    • 你确定你没有违反跨站脚本规则吗?代码库设置是否正确?你能从javascript成功调用你的applet中的任何方法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-30
    • 1970-01-01
    • 2014-04-24
    相关资源
    最近更新 更多