Fiz uma applet no Netbeans e está funcionando. Eu uso ‘debug file’ e ‘run file’ (menu direito) e roda OK.
Porém estou tendo problema para distribuir: fiz uma página html com a tag da applet, coloquei na mesma pasta da página os arquivo class gerados pelo netbeans e tentei abrir a página no browser.
Dá o seguinte erro:
java.lang.NoClassDefFoundError: org/jdesktop/layout/GroupLayout$Group
at AppLab.init(AppLab.java:27)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Eu localizei o jar onde está essa classe, mas só colocar na mesma pasta não adianta. Essa classe é usada num JPanel que criei com alguns controles AWT.
O que faço?
Acho que no attribute “archive” você tem de mencionar também o jar da biblioteca (swing-layout.jar se não me engano). Mas é só um chute; não sei se isso é suficiente.
Estava com um problema parecido. Segui as dicas dadas aqui nesse tópico e agora obtenho a seguinte mensagem:
java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkExit(SecurityManager.java:744)
at javax.swing.JFrame.setDefaultCloseOperation(JFrame.java:363)
at ContaFrase.initComponents(ContaFrase.java:38)
at ContaFrase.(ContaFrase.java:19)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at java.lang.Class.newInstance0(Class.java:350)
at java.lang.Class.newInstance(Class.java:303)
at sun.applet.AppletPanel.createApplet(AppletPanel.java:721)
at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1781)
at sun.applet.AppletPanel.runLoader(AppletPanel.java:650)
at sun.applet.AppletPanel.run(AppletPanel.java:324)
at java.lang.Thread.run(Thread.java:595)
Parece que o erro vem daqui:
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ContaFrase().setVisible(true);
}
});
}
Dê uma olhada no método initComponents, porque provavelmente ele está dizendo que ao fechar o JFrame você iria fechar o browser, o que não é permitido. Remova essa linha que contém “setDefaultCloseOperation” e tente novamente.
thingol, obrigada!
Eu estava fazendo tudo errado, tinha criado um JForm, não um applet…
Refiz o applet, mas continua não rodando. Quando coloco o debugger do appletviewer aparece isso:
run ContaFrase.class
run ContaFrase.class
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
VM Started:
Exception occurred: java.lang.ClassNotFoundException (uncaught)“thread=main”, java.net.URLClassLoader$1.run(), line=200 bci=72
Poxa, desenhar o applet é facílimo, mas colocá-lo para rodar em um html, fora do projeto é muito complicado!