Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript不能访问除AWT之外的Java小程序公共方法?_Java_Javascript_Swing_Security_Applet - Fatal编程技术网

Javascript不能访问除AWT之外的Java小程序公共方法?

Javascript不能访问除AWT之外的Java小程序公共方法?,java,javascript,swing,security,applet,Java,Javascript,Swing,Security,Applet,我只是在做一些工作。其中一个要求我使用javascript访问Javaapplet公共方法。正如我到目前为止所尝试的,我只能访问使用awt的方法。否则,它不会让我看到发生了什么。我的想法错了吗?这是怎么回事 1/以下是我的简单小程序代码: import java.applet.Applet; import java.awt.Color; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; i

我只是在做一些工作。其中一个要求我使用javascript访问Javaapplet公共方法。正如我到目前为止所尝试的,我只能访问使用awt的方法。否则,它不会让我看到发生了什么。我的想法错了吗?这是怎么回事

1/以下是我的简单小程序代码:

import java.applet.Applet;
import java.awt.Color;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

public class MyApplet extends Applet{

    public void setBackColor(){
        setBackground(Color.cyan);
    }

    public void writeFile(){
        try {
            String content = "This is the content to write into file";
            File file = new File("filename.txt");
            if (!file.exists()) {
               file.createNewFile();
            }

            FileWriter fw = new FileWriter(file.getAbsoluteFile());
            BufferedWriter bw = new BufferedWriter(fw);
            bw.write(content);
            bw.close(); 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
2/示例Html:

<html>
<head>
    <script language="javascript">
        function setBackground(){document.app.setBackColor();}
        function WritetoFile(){document.app.writeFile();}
    </script>
</head>
<applet code="MyApplet" name="app" width="300" height="200"></applet>
<button onclick="setBackground()">Set Background Color</button>
<button onclick="WritetoFile()">Write Data To File</button>
</html>

函数setBackground(){document.app.setBackColor();}
函数WritetoFile(){document.app.writeFile();}
设置背景色
将数据写入文件
我需要访问类中的两个方法,但不能。代码仅使用
setBackColor()
方法,但另一个方法
writeFile()
不起作用


有什么想法或解决方案吗?请帮助…

我不确定,但可能是与访问文件系统上的文件相关的安全问题。您是否尝试过,将安全设置设置为最小值(我的意思是中等值)?是的,我已经使用
javacpl.exe
文件进行了设置。从以前开始,如果我没有设置最小值,即使
setBackground()
也不起作用。设置后,只有
setBackground()
起作用。请确保已将配置为针对小程序和JWS应用程序显示。如果默认级别没有输出,请提高该级别并重试。请注意,当JS调用时,需要从其中一个方法调用“trusted method”。(当然,小程序需要使用有效的代码签名证书进行数字签名,并在清单中指定
所有权限
,才能写入
文件