Witam. Otóż mam problem z uprawnieniami do operacji w aplecie
package appletclass;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JApplet;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class AppletClass extends JApplet
{
public void init()
{
EventQueue.invokeLater(new Runnable()
{
@Override public void run()
{
add(new AppletPanel());
JPanel panel=new JPanel();
panel.add(new JLabel("cso"));
add(panel,BorderLayout.NORTH);
File f=new File("cs");
}
});
}
}
class AppletPanel extends JPanel
{
public AppletPanel()
{
try
{
img=ImageIO.read(new File("image.png"));
}
catch(IOException e)
{
e.printStackTrace();
}
}
@Override public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D) g;
g2.drawImage(img, 0,0, 300, 300, null);
g2.drawString("sdasd",100, 200);
}
private Image img;
}
i błąd
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied ("java.io.FilePermission" "image.png" "read")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)
at java.security.AccessController.checkPermission(AccessController.java:555)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkRead(SecurityManager.java:888)
at java.io.File.canRead(File.java:728)
at javax.imageio.ImageIO.read(ImageIO.java:1300)
at appletclass.AppletPanel.<init>(AppletClass.java:42)
at appletclass.AppletClass$1.run(AppletClass.java:25)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Próbowałęm podpisywać aplett w netbeans ale dalej to samo.