Java小程序的项目" java.security.AccessControlException:拒绝访问"错误 [英] Java applet project "java.security.AccessControlException: access denied" error

查看:301
本文介绍了Java小程序的项目" java.security.AccessControlException:拒绝访问"错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我的第一个小程序的项目,由于某种原因,当我尝试运行小程序我得到这个错误。

 警告:无法读取的appletviewer属性文件:
    C:\\用户\\学生\\ .hotjava \\属性使用默认值。
java.security.AccessControlException:访问被拒绝(
    java.lang.RuntimePermissionexitVM.0)

不过,code工作比其他的完美。我不能确定是什么原因造成这个错误。我迟到了2天,这项任务,并且需要有人来帮助我。我一直在敲打我的脑袋在桌子上几个小时。

 进口java.awt中的*。
java.awt.event中导入*。
进口的javax.swing *。
进口了java.util.Random;
进口javax.swing.JApplet中;
/ **剪刀石头布类* /
公共类JRockPaperScissors扩展JApplet的{
    //变量声明
    私人的JLabel titleLbl;
私人的JLabel selectionLbl;
私人的JLabel resultsLbl;
私人的JTextArea resultTextArea;
私人的JButton rockBn;
私人的JButton paperBn;
私人的JButton scissorBn;
私营集装箱的contentPane;
    私人INT CPU = 0;
    私人INT胜= 0;
    私人INT损失= 0;
    私人INT关系= 0;
    私人最终诠释CHOICE_MAX = 3;
    私人最终诠释ROCK = 0;
    私人最终诠释纸= 1;
    私人最终诠释剪刀= 2;
    私人随机兰特=新的随机();
//变量声明结束公共JRockPaperScissors(){
    的InitializeComponent();
}    / **初始化成品的配件* /
私人无效的Ini​​tializeComponent()
{
    titleLbl =新的JLabel();
    selectionLbl =新的JLabel();
    resultsLbl =新的JLabel();
    resultTextArea =新的JTextArea();
    rockBn =的新的JButton();
    paperBn =的新的JButton();
    scissorBn =的新的JButton();
    的contentPane =的getContentPane();    //
    // titleLbl
    //
    titleLbl.setText(石头,剪子,布);
            titleLbl.setFont(新字体(Garrmond,Font.BOLD,30));
    //
    // selectionLbl
    //
    selectionLbl.setText(选择其中一项);
            selectionLbl.setFont(新字体(宋体,Font.BOLD,14));
    //
    // resultsLbl
    //
    resultsLbl.setText(***** *****结果);
            selectionLbl.setFont(新字体(宋体,Font.BOLD,14));
    //
    // resultTextArea
    //
    resultTextArea.setOpaque(假);
    resultTextArea.setBackground(新颜色(236,233,​​216));    //
    // rockBn
    //
    rockBn.setText(岩石);
    rockBn.addActionListener(新的ActionListener(){
        公共无效的actionPerformed(ActionEvent的五)
        {
            rockBn_actionPerformed(E);
        }    });
    //
    // paperBn
    //
    paperBn.setText(纸);
    paperBn.addActionListener(新的ActionListener(){
        公共无效的actionPerformed(ActionEvent的五)
        {
            paperBn_actionPerformed(E);
        }    });
    //
    // scissorBn
    //
    scissorBn.setText(剪刀);
    scissorBn.addActionListener(新的ActionListener(){
        公共无效的actionPerformed(ActionEvent的五)
        {
            scissorBn_actionPerformed(E);
        }    });
    //
    //的contentPane
    //
    contentPane.setLayout(NULL);
    addComponent(的contentPane,titleLbl,5,9,370,47);
    addComponent(的contentPane,selectionLbl,9,54,150,35);
    addComponent(的contentPane,resultsLbl,9,93,144,38);
    addComponent(的contentPane,resultTextArea,5132398111);
    addComponent(的contentPane,rockBn,162,58,78,31);
    addComponent(的contentPane,paperBn,247,58,81,31);
    addComponent(的contentPane,scissorBn,334,58,87,31);
    contentPane.setSize(新尺寸(435,290));
    //
    // JRockPaperScissors
    //
    的setTitle(纸岩剪刀);
    的setSize(435,290);
    调用setVisible(真);
}/ **添加组件没有一个布局管理器(绝对定位)* /
私人无效addComponent(集装箱货柜,组件C中,int x,INT Y,INT宽度,高度INT)
{
    c.setBounds(X,Y,宽度,高度);
    container.add(C);
}/ **动作事件的方法* /
私人无效rockBn_actionPerformed(ActionEvent的五)
{
        //玩游戏选择摇滚
        玩(ROCK);
}私人无效paperBn_actionPerformed(ActionEvent的五)
{
        //玩游戏选择纸
        玩(纸);
}私人无效scissorBn_actionPerformed(ActionEvent的五)
{
        //玩游戏选择剪刀
        玩(剪刀);
}
    //方法玩游戏
    私人无效播放(INT新秀){
         串resultStr =;
         //计算机随机选择
         CPU = rand.nextInt(CHOICE_MAX);
         //嵌套如果statments确定赢家或输家领带
         如果(挑== CPU){
             联系++;
             resultStr =你选+选择(挑)+----电脑捡到+选择(CPU);
             resultStr + =\\ nWinner:帖;
             resultStr + =\\ n您:+ Integer.toString(胜)++电脑+ Integer.toString(损失)+关系:+ Integer.toString(并列);
             resultTextArea.setText(resultStr);
         }
         否则如果((挑== ROCK)及及(CPU ==剪刀)){
             胜++;
             resultStr =你选+选择(挑)+----电脑捡到+选择(CPU);
             resultStr + =\\ nWinner:你;
             resultStr + =\\ n您:+ Integer.toString(胜)++电脑+ Integer.toString(损失)+关系:+ Integer.toString(并列);
             resultTextArea.setText(resultStr);
         }
         否则如果((挑== PAPER)及及(CPU == ROCK)){
             胜++;
             resultStr =你选+选择(挑)+----电脑捡到+选择(CPU);
             resultStr + =\\ nWinner:你;
             resultStr + =\\ n您:+ Integer.toString(胜)++电脑+ Integer.toString(损失)+关系:+ Integer.toString(并列);
             resultTextArea.setText(resultStr);
         }
         否则如果((挑==剪刀)及及(CPU == PAPER)){
             胜++;
             resultStr =你选+选择(挑)+----电脑捡到+选择(CPU);
             resultStr + =\\ nWinner:你;
             resultStr + =\\ n您:+ Integer.toString(胜)++电脑+ Integer.toString(损失)+关系:+ Integer.toString(并列);
             resultTextArea.setText(resultStr);
         }
         其他{
             失去++;
             resultStr =你选+选择(挑)+----电脑捡到+选择(CPU);
             resultStr + =\\ nWinner:计算机;
             resultStr + =\\ n您:+ Integer.toString(胜)++电脑+ Integer.toString(损失)+关系:+ Integer.toString(并列);
             resultTextArea.setText(resultStr);
         }    }
        //函数返回石头纸或剪刀作为一个字符串
         公共字符串的选择(INT选择){
             串tempStr;
             开关(选择){
               情况下0:
                     tempStr =岩石;
                     打破;
               情况1:
                     tempStr =纸;
                     打破;
               案例2:
                     tempStr =剪刀差;
                     打破;
               默认:
                     tempStr =无效;
              }
              返回tempStr;
         }}

HTML code

 < HTML和GT;
< HEAD><标题>剪刀石头布< /标题>< /头>
<车身的bgcolor =黑>
<字体颜色=黄色><中心及GT;< H1>欢迎您!准备玩<?/ H1>< /中心及GT;
< P>< B><对象code =JRockPaperScissors.classWIDTH =435HEIGHT =290>< /对象>
< / FONT>
< /身体GT;
< / HTML>


解决方案

这似乎是一个破碎的applet浏览器安装到我。这code,而不在这里applet浏览器运行的错误(在我评论说,不能编译行,这意味着源的不可以你正在使用)。当您尝试在一个支持Java的浏览器,会发生什么?

HTML

我不认为HTML是相关的问题,但既然你提到它:

 <对象code =JRockPaperScissors.classWIDTH =435HEIGHT =290>< /对象>

我在测试过程中3建议。


  1. 交换对象小程序

  2. 删除code属性的的.class 扩展 - 它意味着是完全合格的类名,而不是文件名。而第二通常容忍,第一是正确的。

  3. 更改标准的风格引号'智能引号'。它看起来像HTML是一个文字处理器prepared,或者更好的是,彻底删除引号。

例如

 <小程序code = JRockPaperScissors WIDTH = 435 HEIGHT = 290>< /小程序>

This is my first applet project and for some reason when I try to run the applet I get this error.

Warning: Can't read AppletViewer properties file: 
    C:\Users\students\.hotjava\properties Using defaults.
java.security.AccessControlException: access denied (
    "java.lang.RuntimePermission" "exitVM.0")

But the code works perfect other than that. I am unsure what is causing this error. I am 2 days late on this assignment, and need someone to help me. I have been banging my head on the desk for hours.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;
import javax.swing.JApplet;


/** rock paper scissors class */
public class JRockPaperScissors extends JApplet{
    // Variables declaration
    private JLabel titleLbl;
private JLabel selectionLbl;
private JLabel resultsLbl;
private JTextArea resultTextArea;
private JButton rockBn;
private JButton paperBn;
private JButton scissorBn;
private Container contentPane;
    private int cpu = 0;
    private int wins = 0;
    private int loses = 0;
    private int ties = 0;
    private final int CHOICE_MAX = 3;
    private final int ROCK = 0;
    private final int PAPER = 1;
    private final int SCISSORS = 2;
    private Random rand = new Random();
// End of variables declaration

public JRockPaperScissors(){
    initializeComponent();
}

    /** initializing componets */
private void initializeComponent()
{
    titleLbl = new JLabel();
    selectionLbl = new JLabel();
    resultsLbl = new JLabel();
    resultTextArea = new JTextArea();
    rockBn = new JButton();
    paperBn = new JButton();
    scissorBn = new JButton();
    contentPane = getContentPane();

    //
    // titleLbl
    //
    titleLbl.setText("Rock, Paper, Scissors");
            titleLbl.setFont(new Font("Garrmond", Font.BOLD, 30));
    //
    // selectionLbl
    //
    selectionLbl.setText("Choose one");
            selectionLbl.setFont(new Font("Arial",Font.BOLD,14));
    //
    // resultsLbl
    //
    resultsLbl.setText("*****Results*****");
            selectionLbl.setFont(new Font("Arial",Font.BOLD,14));
    //
    // resultTextArea
    //
    resultTextArea.setOpaque(false);
    resultTextArea.setBackground(new Color(236, 233, 216));

    //
    // rockBn
    //
    rockBn.setText("Rock");
    rockBn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e)
        {
            rockBn_actionPerformed(e);
        }

    });
    //
    // paperBn
    //
    paperBn.setText("Paper");
    paperBn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e)
        {
            paperBn_actionPerformed(e);
        }

    });
    //
    // scissorBn
    //
    scissorBn.setText("Scissors");               
    scissorBn.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e)
        {
            scissorBn_actionPerformed(e);
        }

    });
    //
    // contentPane
    //
    contentPane.setLayout(null);
    addComponent(contentPane, titleLbl, 5,9,370,47);
    addComponent(contentPane, selectionLbl, 9,54,150,35);
    addComponent(contentPane, resultsLbl, 9,93,144,38);
    addComponent(contentPane, resultTextArea, 5,132,398,111);
    addComponent(contentPane, rockBn, 162,58,78,31);
    addComponent(contentPane, paperBn, 247,58,81,31);
    addComponent(contentPane, scissorBn, 334,58,87,31);
    contentPane.setSize(new Dimension(435, 290));
    //
    // JRockPaperScissors
    //      
    setTitle("Paper Rock Scissors");
    setSize(435, 290);
    setVisible(true);
}

/** Add Component Without a Layout Manager (Absolute Positioning) */
private void addComponent(Container container,Component c,int x,int y,int width,int height)
{
    c.setBounds(x,y,width,height);
    container.add(c);
}

/** action event methods */
private void rockBn_actionPerformed(ActionEvent e)
{
        //play the game choosing rock
        play(ROCK);
}

private void paperBn_actionPerformed(ActionEvent e)
{
        //play the game choosing paper
        play(PAPER);
}

private void scissorBn_actionPerformed(ActionEvent e)
{
        //play the game choosing scissors
        play(SCISSORS);
}
    //method to play the game
    private void play(int pick){
         String resultStr = "";                   
         //random computer choice
         cpu = rand.nextInt(CHOICE_MAX);
         //nested if statments to determine winner loser or tie
         if(pick == cpu){
             ties++;
             resultStr = "You picked " + selection(pick) + " ---- Computer picked " + selection(cpu);
             resultStr += "\nWinner: Tie";
             resultStr += "\nYou: " + Integer.toString(wins) + "  " + "Computer: " + Integer.toString(loses) + " Ties: " + Integer.toString(ties);
             resultTextArea.setText(resultStr);
         }
         else if( (pick == ROCK) && (cpu == SCISSORS) ){
             wins++;
             resultStr = "You picked " + selection(pick) + " ---- Computer picked " + selection(cpu);
             resultStr += "\nWinner: You";
             resultStr += "\nYou: " + Integer.toString(wins) + "  " + "Computer: " + Integer.toString(loses) + " Ties: " + Integer.toString(ties);
             resultTextArea.setText(resultStr);
         }
         else if( (pick == PAPER) && (cpu == ROCK) ){
             wins++;
             resultStr = "You picked " + selection(pick) + " ---- Computer picked " + selection(cpu);
             resultStr += "\nWinner: You";
             resultStr += "\nYou: " + Integer.toString(wins) + "  " + "Computer: " + Integer.toString(loses) + " Ties: " + Integer.toString(ties);
             resultTextArea.setText(resultStr);                 
         }
         else if( (pick == SCISSORS) && (cpu == PAPER) ){
             wins++;
             resultStr = "You picked " + selection(pick) + " ---- Computer picked " + selection(cpu);
             resultStr += "\nWinner: You";
             resultStr += "\nYou: " + Integer.toString(wins) + "  " + "Computer: " + Integer.toString(loses) + " Ties: " + Integer.toString(ties);
             resultTextArea.setText(resultStr);
         }
         else{
             loses++;
             resultStr = "You picked " + selection(pick) + " ---- Computer picked " + selection(cpu);
             resultStr += "\nWinner: Computer";
             resultStr += "\nYou: " + Integer.toString(wins) + "  " + "Computer: " + Integer.toString(loses) + " Ties: " + Integer.toString(ties);
             resultTextArea.setText(resultStr);                 
         }

    }
        //function returns paper rock or scissors as a string
         public String selection(int choice){
             String tempStr;
             switch(choice){
               case 0:
                     tempStr = "rock";
                     break;
               case 1:
                     tempStr = "paper";
                     break;
               case 2:
                     tempStr = "scissors";
                     break;
               default:
                     tempStr = "invalid";
              }
              return tempStr;
         }

}

HTML CODE

<html>
<head><title>Rock Paper Scissors</title></head>
<body bgcolor="black">
<font color="yellow"><center><h1>Welcome!! Ready to play?</h1></center>
<p><b><object code = "JRockPaperScissors.class" width = "435" height = "290"></object>
</font>
</body>
</html>

解决方案

This appears to be a broken applet viewer installation to me. That code runs without error in applet viewer here (after I comment the line that does not compile, which implies that source is not what you are using). What happens when you try it in a Java enabled browser?

HTML

I don't think the HTML is relevant to the problem, but since you mentioned it:

<object code = "JRockPaperScissors.class" width = "435" height = "290"></object>

I have 3 recommendations during testing.

  1. Swap object for applet
  2. Remove the .class extension of the code attribute - it is meant to be the fully qualified class name, not a file name. While the 2nd is usually tolerated, the 1st is correct.
  3. Change the 'smart quotes' for standard " style quotes. It looks like that HTML was prepared in a word processor. Or better still, remove the quotes completely.

E.G.

 <applet code=JRockPaperScissors width=435 height=290></applet>

这篇关于Java小程序的项目&QUOT; java.security.AccessControlException:拒绝访问&QUOT;错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆