Applet编程问题:JFileChooser本地能运行,上传后网页上不行
单机运行时,点击按钮可以跳出文件选择对话框,但是嵌入网页并上传以后,点击按钮无反应。是怎么回事?该怎么解决?源码如下:publicclassEmailGeneratore...
单机运行时,点击按钮可以跳出文件选择对话框,但是嵌入网页并上传以后,点击按钮无反应。是怎么回事?该怎么解决?
源码如下:
public class EmailGenerator extends Applet{
Label text1;
Label text2;
Button getInfo;
Button choose;
TextArea info;
Label text3;
TextArea results;
public void init(){
setSize(500, 500);
setBackground(Color.GRAY);
text1 = new Label("Student information in the student.txt file are listed below:");
info= new TextArea();
choose=new Button("Get infomation");
text2 = new Label("The generated email address are:");
results =new TextArea();
results.setSize(200, 400);
this.add(text1);
this.add(info);
this.add(choose);
this.add(text2);
this.add(results);
choose.addActionListener(new Generate());
}
public class Generate implements ActionListener {
public void actionPerformed(ActionEvent e){
JFileChooser c = new JFileChooser();
c.setFileSelectionMode(JFileChooser.FILES_ONLY);
c.showOpenDialog(null);
File file = c.getSelectedFile();
try {
BufferedReader in= new BufferedReader(new FileReader(file));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("studentemail.txt") ));
String subSocialNum, lowerFI, lowerLI;
。。。
(字数受限后半部分省略) 展开
源码如下:
public class EmailGenerator extends Applet{
Label text1;
Label text2;
Button getInfo;
Button choose;
TextArea info;
Label text3;
TextArea results;
public void init(){
setSize(500, 500);
setBackground(Color.GRAY);
text1 = new Label("Student information in the student.txt file are listed below:");
info= new TextArea();
choose=new Button("Get infomation");
text2 = new Label("The generated email address are:");
results =new TextArea();
results.setSize(200, 400);
this.add(text1);
this.add(info);
this.add(choose);
this.add(text2);
this.add(results);
choose.addActionListener(new Generate());
}
public class Generate implements ActionListener {
public void actionPerformed(ActionEvent e){
JFileChooser c = new JFileChooser();
c.setFileSelectionMode(JFileChooser.FILES_ONLY);
c.showOpenDialog(null);
File file = c.getSelectedFile();
try {
BufferedReader in= new BufferedReader(new FileReader(file));
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("studentemail.txt") ));
String subSocialNum, lowerFI, lowerLI;
。。。
(字数受限后半部分省略) 展开
1个回答
展开全部
Applet的安全限制
Java平台为了防范恶意程序的攻击,使用了安全管理器,安全管理器执行系统资源的访问控制。许多浏览器为了保护本地主机,对Applet作了如下安全限制:
1)Applet不能运行任何本地可运作程序。
2)禁止加载本地库或方法。Applet只能使用自身的代码或Applet浏览器提供的Java API。
3)禁止读、写本地计算机的文件系统。
4)禁止向提供Applet之外的任何主机建立网络连接等等。
解决办法: 在百度中搜 Applet签名
Java平台为了防范恶意程序的攻击,使用了安全管理器,安全管理器执行系统资源的访问控制。许多浏览器为了保护本地主机,对Applet作了如下安全限制:
1)Applet不能运行任何本地可运作程序。
2)禁止加载本地库或方法。Applet只能使用自身的代码或Applet浏览器提供的Java API。
3)禁止读、写本地计算机的文件系统。
4)禁止向提供Applet之外的任何主机建立网络连接等等。
解决办法: 在百度中搜 Applet签名
更多追问追答
追问
可是为什么我在网页上打开别人制作的applet,就可以访问本地文件呢?
我看了一下源码,并没有太大区别。
追答
代码是没区别;Jar包要签名。。 百度一下先。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询