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