拒绝访问java.lang.runtimepermission exitvm.0

拒绝访问java.lang.runtimepermission exitvm.0,java,swing,security,applet,jframe,Java,Swing,Security,Applet,Jframe,我是小程序新手,访问被拒绝java.lang.runtimepermission exitvm.0有一个问题。它在Safari上显示了这个错误,Firefox根本没有显示任何东西,我不知道为什么会这样,它在我的Eclipse上运行得很好,但在web浏览器上不起作用。有什么帮助吗?谢谢 package test; import javax.imageio.ImageIO; import javax.swing.*; import java.awt.*; import java.aw

我是小程序新手,访问被拒绝java.lang.runtimepermission exitvm.0有一个问题。它在Safari上显示了这个错误,Firefox根本没有显示任何东西,我不知道为什么会这样,它在我的Eclipse上运行得很好,但在web浏览器上不起作用。有什么帮助吗?谢谢

    package test;



import javax.imageio.ImageIO;
import javax.swing.*;

import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.awt.image.ImageProducer;
import java.awt.image.RGBImageFilter;
import java.io.File;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.lang.reflect.Method;
public class app extends JApplet{
    URL url;
    String methodName;
    String f1="http://localhost/webpage/upload/suit.jpeg";
    String f2="http://localhost/webpage/customers/download.jpeg";
    boolean setR=false;
    Image image=null;
    int x=0;
    int y=0;
    int endX;
    int endY;
    int center1;
    int center2;
    int imageWidth;
    int imageHeight;
    boolean clicked=false;
    int initialX=0;
    int initialY=0;
    public void init(){
        load();
    }
    public void start(){
        load();
    }
    public void load(){
        //String methodName = method.getName();

     //   try{
            Image img= getImage(getDocumentBase(), f1);
            makeColorTransparent(img,Color.white);
            initialX=img.getWidth(null);
            initialY=img.getHeight(null);
      //  }//catch (InvocationTargetException ex) {
            //ex.getTargetException();

       // }
    }
      public Image makeColorTransparent
        (Image im, final Color color) {
        ImageFilter filter = new RGBImageFilter() {
          // the color we are looking for... Alpha bits are set to opaque
          public int markerRGB = color.getRGB() | 0xFF000000;

          public final int filterRGB(int x, int y, int rgb) {
            if ( ( rgb | 0xFF000000 ) == markerRGB ) {
              // Mark the alpha bits as zero - transparent
              return 0x00FFFFFF & rgb;
              }
            else {
              // nothing to do
              return rgb;
              }
            }
          }; 

        ImageProducer ip = new FilteredImageSource(im.getSource(), filter);
        image=Toolkit.getDefaultToolkit().createImage(ip);      
        drawing();
        return Toolkit.getDefaultToolkit().createImage(ip);
        }
        public void drawing(){
            Image img=null;
            //File f=new File("./src/trans1/download.jpeg");
            draw2();
            //buff=ImageIO.read(img);
            //try {
              //  img = ImageIO.read(new File("download.jpeg"));
        //  } catch (IOException e) {
        //  }
            BufferedImage buff=new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
            //buff=img;
            ImageIcon pic1=null;
            //try {
            //  pic1 = new ImageIcon(ImageIO.read(new File("./src/trans1/download.jpeg")));
                System.out.println("I am working");
        //  } catch (IOException e) {
                // TODO Auto-generated catch block
            //  e.printStackTrace();
            //}
            JFrame frame=new JFrame();
            Graphics2D bGr = buff.createGraphics();
            bGr.drawImage(img, 0, 0, null);
            bGr.dispose();
            buff.getGraphics().drawImage(img, 100, 100, null);

            //JLabel label1=new JLabel(pic1);
            frame.setSize(300,300);
        //  frame.add(label1);
        //  this.add(label1);
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(this);
            this.addMouseListener(new MouseL());
            this.addMouseMotionListener(new MouseList());
            frame.setVisible(true);
        }
         public void draw2(){
             BufferedImage buff;
             int type;
             int width;
             int height;
             try {
                   //  buff=new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB);
                     url = new URL (getCodeBase(), f2 );
                   buff=ImageIO.read(url);
                   Image img=ImageIO.read(url);
                   type=buff.getType();
                   width=buff.getWidth();
                   height=buff.getHeight();
                   Graphics g=buff.getGraphics();
                   g.drawImage(img, width, height, null);

           } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
           }

     }
          public void draw3(Graphics g, Image img){
              g.drawImage(img, 0, 0, null);
             // g.drawImage(img, img.getWidth(null), img.getWidth(null), null);
          }
      public void paint(Graphics g){
            Image img=getImage(getDocumentBase(), f2);
            draw3(g,img);
            draw2();
             if(image == null) return;
             if(clicked==false){
                imageWidth = image.getWidth(this);
                imageHeight = image.getHeight(this);}        
                endX=x+imageWidth;
                endY=y+imageHeight;
                g.drawImage(image, x, y, imageWidth, imageHeight, this );
                if(setR){
                    g.drawRect(x, y, imageWidth, imageHeight);
                    center1=(x+endX)/2;
                    center2=(y+endY)/2;
                    g.drawRect(center1, y, 3, 3);
                    g.drawRect(center1,endY, 3,3);
                    g.drawRect(x, center2, 3, 3);
                    g.drawRect(endX, center2, 3, 3);
                }
      }
        int inX;
        int inY;
        int subX;
        int subY;
        int diffX;
        int diffY;
        long ratio;
        boolean isSet=false;
        class MouseList implements MouseMotionListener{
            @Override
            public void mouseDragged(MouseEvent arg0) {
                setR=true;    
                if(isSet==true){
                        subX=arg0.getX();
                        subY=arg0.getY();
                        diffX=subX-inX;
                        diffY=subY-inY;
                        x=x+diffX;
                        y=y+diffY;
                        repaint();
                    inX=arg0.getX();
                    inY=arg0.getY();
                    //setR=false;
                    repaint();
                }else{
                if(clicked==true){
                            subY=arg0.getY();
                            diffY=subY-inY;
                            if(ratio==0){
                                ratio=1;
                            }
                            diffX=(int) (diffY/ratio);
                            y=y-diffY;
                            x=x-diffX;
                            imageHeight=imageHeight+diffY;
                            imageWidth=imageWidth+diffX;
                            //size of the screen
                            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

                            //height of the task bar
                            Insets scnMax = Toolkit.getDefaultToolkit().getScreenInsets(getGraphicsConfiguration());
                            int taskBarSize = scnMax.bottom;

                            //available size of the screen 
                            //setLocation(screenSize.width - getWidth(), screenSize.height - taskBarSize - getHeight());
                            if(imageHeight<0 || imageWidth<0 || imageWidth>=screenSize.width ||imageHeight>=screenSize.height){
                                imageHeight=initialY;
                                x=0;
                                y=0;
                                imageWidth=initialX;
                            }
                            setR=false;
                            repaint();          
                }   
            }
        }
            @Override
            public void mouseMoved(MouseEvent arg0) {
                // TODO Auto-generated method stub

            }

        }
        class MouseL implements MouseListener{

            @Override
            public void mouseClicked(MouseEvent arg0) {
                // TODO Auto-generated method stub
                if((arg0.getX()<x &&arg0.getY()<y)||(arg0.getX()<x && arg0.getY()>endY)||(arg0.getX()>endX && arg0.getY()<y)||(arg0.getX()>endX && arg0.getY()>endY)){
                    System.out.println(" 1 I am working");
                    setR=false;
                    repaint();
                }

            }

            @Override
            public void mouseEntered(MouseEvent arg0) {
            /*  if(arg0.getX()>x && arg0.getX()<endX && arg0.getY()>y && arg0.getY()<endY){
                    if(isSet==false){
                        inX=arg0.getX();
                        inY=arg0.getY();
                        isSet=true;
                    }
                }*/
                if(arg0.getX()>x && arg0.getX()<endX && arg0.getY()>y && arg0.getY()<endY){
                    System.out.println("Yes i am here");
                    Cursor c=new Cursor(Cursor.HAND_CURSOR);
                    setCursor(c);
                }else if((arg0.getX()>=center1 && arg0.getX()<=center1+3)&&((arg0.getY()>=y && arg0.getY()<=y+3)||(arg0.getY()>=endY&& arg0.getY()<=endY+3))||(arg0.getY()>=center2 && arg0.getY()<=center2+3)&&((arg0.getX()>=x && arg0.getX()<=x+3)||(arg0.getX()>=endX && arg0.getX()<=endX+3))){
                    System.out.println("No i am here");
                    Cursor c=new Cursor(Cursor.N_RESIZE_CURSOR);
                    setCursor(c);
                }/*else if(arg0.getX()<x || arg0.getX()>endX && arg0.getY()<y || arg0.getY()>endY){
                    System.out.println(" 1 I am working");
                    setR=false;
                    repaint();
                }*/

            }

            @Override
            public void mouseExited(MouseEvent arg0) {
                // TODO Auto-generated method stub

            }

            @Override
            public void mousePressed(MouseEvent arg0) {
                System.out.println(x+" "+y+" "+endX+" "+endY+" "+arg0.getX()+" "+arg0.getY());
                if(arg0.getX()>x && arg0.getX()<endX && arg0.getY()>y && arg0.getY()<endY){
                    if(isSet==false){
                        inX=arg0.getX();
                        inY=arg0.getY();
                        isSet=true;
                    }
                    //repaint();
                    System.out.println("2");
                }
                else if((arg0.getX()>=center1 && arg0.getX()<=center1+3)&&((arg0.getY()>=y && arg0.getY()<=y+3)||(arg0.getY()>=endY&& arg0.getY()<=endY+3))||(arg0.getY()>=center2 && arg0.getY()<=center2+3)&&((arg0.getX()>=x && arg0.getX()<=x+3)||(arg0.getX()>=endX && arg0.getX()<=endX+3))){
                    if((arg0.getX()>=center1 && arg0.getX()<=center1+3)&&((arg0.getY()>=y && arg0.getY()<=y+3)||(arg0.getY()>=endY&& arg0.getY()<=endY+3))){
                            ratio=imageHeight/imageWidth;
                            inY=arg0.getY();
                            clicked=true;
                            }
                    //repaint();
                    System.out.println("3");
                    }else if((arg0.getX()<x || arg0.getY()<y)||(arg0.getX()<x || arg0.getY()>endY)||(arg0.getX()>endX || arg0.getY()<y)||(arg0.getX()>endX || arg0.getY()>endY)){
                        System.out.println(" 1 I am working");
                        setR=false;
                        repaint();
                        System.out.println("4");
                    }
                //repaint();
                /*else if((arg0.getX()<x || arg0.getX()>endX)|| (arg0.getY()<y || arg0.getY()>endY)){
                        System.out.println(" 1 I am working");
                        setR=false;
                        repaint();
                    }*/



            }

            @Override
            public void mouseReleased(MouseEvent arg0) {
                // TODO Auto-generated method stub
                isSet=false;
            //  clicked=false;
            //  setR=false;
            //  repaint();

            }

        }


    }
封装测试;
导入javax.imageio.imageio;
导入javax.swing.*;
导入java.awt.*;
导入java.awt.event.MouseEvent;
导入java.awt.event.MouseListener;
导入java.awt.event.MouseMotionListener;
导入java.awt.image.buffereImage;
导入java.awt.image.FilteredImageSource;
导入java.awt.image.ImageFilter;
导入java.awt.image.ImageProducer;
导入java.awt.image.RGBImageFilter;
导入java.io.File;
导入java.io.IOException;
导入java.lang.reflect.InvocationTargetException;
导入java.net.URL;
导入java.lang.reflect.Method;
公共类应用程序扩展了JApplet{
网址;
字符串方法名;
字符串f1=”http://localhost/webpage/upload/suit.jpeg";
字符串f2=”http://localhost/webpage/customers/download.jpeg";
布尔setR=false;
图像=空;
int x=0;
int y=0;
内端;
内端;
国际中心1;
国际中心2;
图像宽度;
int图像高度;
布尔值=假;
int initialX=0;
int initialY=0;
公共void init(){
加载();
}
公开作废开始(){
加载();
}
公共空荷载(){
//String methodName=method.getName();
//试一试{
Image img=getImage(getDocumentBase(),f1);
使颜色透明(img,颜色为白色);
initialX=img.getWidth(null);
initialY=img.getHeight(null);
//}//catch(InvocationTargetException-ex){
//例如,getTargetException();
// }
}
公共形象透明化
(图像im,最终颜色){
ImageFilter过滤器=新的RGBImageFilter(){
//我们正在寻找的颜色…Alpha位设置为不透明
public int markerRGB=color.getRGB()| 0xFF000000;
公共最终整型过滤器rgb(整型x、整型y、整型rgb){
如果((rgb | 0xFF000000)=markerRGB){
//将alpha位标记为零透明
返回0x00FFFFFF&rgb;
}
否则{
//无事可做
返回rgb;
}
}
}; 
ImageProducer ip=new FilteredImageSource(im.getSource(),filter);
image=Toolkit.getDefaultToolkit().createImage(ip);
绘图();
返回Toolkit.getDefaultToolkit().createImage(ip);
}
公共图纸(){
图像img=null;
//文件f=新文件(“./src/trans1/download.jpeg”);
图2();
//buff=图像读取(img);
//试一试{
//img=ImageIO.read(新文件(“download.jpeg”);
//}捕获(IOE异常){
//  }
BuffereImage buff=新的BuffereImage(100100,BuffereImage.TYPE_INT_ARGB);
//buff=img;
ImageIcon pic1=null;
//试一试{
//pic1=新的图像图标(ImageIO.read(新文件(“./src/trans1/download.jpeg”));
System.out.println(“我正在工作”);
//}捕获(IOE异常){
//TODO自动生成的捕捉块
//e.printStackTrace();
//}
JFrame=新JFrame();
Graphics2D bGr=buff.createGraphics();
bGr.drawImage(img,0,0,null);
bGr.dispose();
buff.getGraphics().drawImage(img,100100,null);
//JLabel label1=新的JLabel(pic1);
框架。设置尺寸(300300);
//添加框架(标签1);
//添加(标签1);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
框架。添加(此);
这个.addMouseListener(新的MouseL());
this.addMouseMotionListener(新的MouseList());
frame.setVisible(true);
}
公共图书馆2({
缓冲图像buff;
int型;
整数宽度;
内部高度;
试一试{
//buff=新的buffereImage(100100,buffereImage.TYPE_INT_ARGB);
url=新url(getCodeBase(),f2);
buff=ImageIO.read(url);
Image img=ImageIO.read(url);
type=buff.getType();
宽度=buff.getWidth();
高度=buff.getHeight();
Graphics g=buff.getGraphics();
g、 drawImage(img、宽度、高度、空值);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
}
公共图纸3(图形g、图像img){
g、 drawImage(img,0,0,null);
//g.drawImage(img,img.getWidth(null),img.getWidth(null),null);
}
公共空间涂料(图g){
Image img=getImage(getDocumentBase(),f2);
图纸3(g、img);
图2();
if(image==null)返回;
如果(单击==false){
imageWidth=image.getWidth(此);
imageHeight=image.getHeight(this);}
endX=x+图像宽度;
endY=y+imageHeight;
g、 drawImage(图像,x,y,图像宽度,图像高度,this);
如果(setR){
g、 drawRect(x、y、imageWidth、imageHeight);
中心1=(x+endX)/2;
中心2=(y+endY)/2;
g、 drawRect(中心1,y,3,3);
g、 drawRect(center1,endY,3,3);
g、 drawRect(x,center2,3,3);
g、 drawRect(端点、中心2、3、3);
}
}
int-inX;
内在的;
int-subX;
int-subY;
int-diffX;
内部差异;
长比;
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);