2015-02-23 54 views
0

当我在Eclipse(Luna,java vers = 8)上运行以下代码时,代码将运行并弹出两条错误消息。另一方面,当我在html页面中嵌入代码时,代码只显示第一条错误消息。看起来调用ForkJoinPool类会压缩firefox上的applet。 你知道为什么吗?这是代码。Java - 当使用ForkJoinPool时(在Eclipse中工作时),Applet不能在Firefox上工作

import java.awt.BorderLayout; 
import java.awt.Container; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.util.concurrent.ForkJoinPool; 

import javax.swing.JApplet; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JOptionPane; 
import javax.swing.JPanel; 
import javax.swing.SwingUtilities; 

public class ProvaVera extends JApplet 
{ 
    public void start() 
    { 

     SwingUtilities.invokeLater(new Runnable(){ 
     public void run() 
      { 
       MainPanel panel = new MainPanel();  
       // Add Swing components to content pane 
       Container c = getContentPane(); 
       c.add(panel, BorderLayout.CENTER); 
      } 
     }); 

    } 

} 
class MainPanel extends JPanel 
{ 

    public MainPanel() 
    { 
     JLabel label1 = new JLabel("label1"); 
     this.add(label1); 
     JButton btn1 = new JButton("button1"); 
     this.add(btn1); 

     btn1.addActionListener (
       new ActionListener() 
       { 
        public void actionPerformed(ActionEvent e) 
        { 
         metodo(); 
        } 
       } 

       ); 
    } 



    public void metodo() 
    { 
     JOptionPane.showMessageDialog(new JFrame(), "test1", "Dialog", JOptionPane.ERROR_MESSAGE); 
     ForkJoinPool pool = new ForkJoinPool(); 
     JOptionPane.showMessageDialog(new JFrame(), "test2", "Dialog", JOptionPane.ERROR_MESSAGE); 
    } 
} 

回答

0

我已经从java控制面板启用了Java控制台。 和错误是: java.security.AccessControlException:访问被拒绝( “java.lang.RuntimePermission” “modifyThread”)

所以我去了位于java.home我java.policy文件/ lib/security中/我写了以下内容

grant codeBase "url or file where the applet is" { 
permission java.lang.RuntimePermission "modifyThread"; 
}; 

现在小程序正在工作。

再次感谢您的支持。

0

您可能会遇到安全异常,因为ForkJoinPool需要'modifyThread'运行时权限。

当您在Eclipse中运行时,没有安装安全管理器,因此您不会遇到安全异常。当你在浏览器中运行时,有一个严格的安全管理器。

+0

感谢您的回答,我该如何解决这个问题? – user2282064 2015-02-24 11:06:54