My applet works differently between online and offline.

http://blogfile.paran.com/BLOG_253895/200609/1157419012_DodgeSnowLauncher.html

This is my applet which I made yesterday.

When you click on the link, push the button, and run the applet online,

nothing happens when you click on help - about dodgesnow version 0.1, which is on the menubar above.

However, if you download the html file and run the applet again, you can see the "about dialog".

The dialog is made with the dialog form in NetBeans 5.0, and therefore uses its own layout library.

I want to know why this happens.

Thanks.

The Error I encountered --

Exception occurred during event dispatching:

java.lang.ExceptionInInitializerError

at org.jdesktop.layout.GroupLayout$ContainerAutopaddingSpring.calculateP

adding(GroupLayout.java:2518)

at org.jdesktop.layout.GroupLayout$Group.calculateAutopadding(GroupLayou

t.java:1257)

at org.jdesktop.layout.GroupLayout$Group.calculateAutopadding(GroupLayou

t.java:1259)

at org.jdesktop.layout.GroupLayout$Group.calculateAutopadding(GroupLayou

t.java:1259)

at org.jdesktop.layout.GroupLayout.resetAutopadding(GroupLayout.java:800

)

at org.jdesktop.layout.GroupLayout.prepare(GroupLayout.java:807)

at org.jdesktop.layout.GroupLayout.preferredLayoutSize(GroupLayout.java:

641)

at java.awt.Container.preferredSize(Container.java:1558)

at java.awt.Container.getPreferredSize(Container.java:1543)

at javax.swing.JComponent.getPreferredSize(JComponent.java:1617)

at javax.swing.JRootPane$RootLayout.preferredLayoutSize(JRootPane.java:8

24)

at java.awt.Container.preferredSize(Container.java:1558)

at java.awt.Container.getPreferredSize(Container.java:1543)

at javax.swing.JComponent.getPreferredSize(JComponent.java:1617)

at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:690)

at java.awt.Container.preferredSize(Container.java:1558)

at java.awt.Container.getPreferredSize(Container.java:1543)

at java.awt.Window.pack(Window.java:486)

at AboutDialog.initComponents(AboutDialog.java:65)

at AboutDialog.(AboutDialog.java:12)

at DodgeSnowGUI.actionPerformed(DodgeSnowGUI.java:194)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18

49)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav

a:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel

.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258

)

at javax.swing.AbstractButton.doClick(AbstractButton.java:302)

at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1

000)

at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMen

uItemUI.java:1041)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212

)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Window.dispatchEventImpl(Window.java:1778)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:153)

at java.awt.Dialog$1.run(Dialog.java:517)

at java.awt.Dialog$2.run(Dialog.java:545)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:543)

at java.awt.Component.show(Component.java:1300)

at java.awt.Component.setVisible(Component.java:1253)

at DodgeSnowLauncher$1.actionPerformed(DodgeSnowLauncher.java:10)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18

49)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav

a:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel

.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258

)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL

istener.java:236)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212

)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Caused by: java.lang.RuntimeException: java.security.AccessControlException: acc

ess denied (java.net.SocketPermission image.paran.com:80 connect,resolve)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon

nection.java:887)

at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLCon

nection.java:1912)

at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:376

)

at sun.applet.AppletClassLoader.getBytes(AppletClassLoader.java:269)

at sun.applet.AppletClassLoader.access$100(AppletClassLoader.java:44)

at sun.applet.AppletClassLoader$1.run(AppletClassLoader.java:158)

at java.security.AccessController.doPrivileged(Native Method)

at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:155)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:119)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:164)

at org.jdesktop.layout.LayoutStyle.(LayoutStyle.java:63)

... 75 more

Caused by: java.security.AccessControlException: access denied (java.net.SocketP

ermission image.paran.com:80 connect,resolve)

at java.security.AccessControlContext.checkPermission(AccessControlConte

xt.java:264)

at java.security.AccessController.checkPermission(AccessController.java:

427)

at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

at java.lang.SecurityManager.checkConnect(SecurityManager.java:1034)

at sun.net.www.http.HttpClient.openServer(HttpClient.java:459)

at sun.net.www.http.HttpClient.(HttpClient.java:214)

at sun.net.www.http.HttpClient.New(HttpClient.java:287)

at sun.net.www.http.HttpClient.New(HttpClient.java:299)

at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC

onnection.java:796)

at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne

ction.java:748)

at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection

.java:673)

at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLCon

nection.java:1706)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon

nection.java:1089)

at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:367

)

... 87 more

Exception occurred during event dispatching:

java.lang.NoClassDefFoundError

at org.jdesktop.layout.GroupLayout$ContainerAutopaddingSpring.calculateP

adding(GroupLayout.java:2518)

at org.jdesktop.layout.GroupLayout$Group.calculateAutopadding(GroupLayou

t.java:1257)

at org.jdesktop.layout.GroupLayout$Group.calculateAutopadding(GroupLayou

t.java:1259)

at org.jdesktop.layout.GroupLayout$Group.calculateAutopadding(GroupLayou

t.java:1259)

at org.jdesktop.layout.GroupLayout.resetAutopadding(GroupLayout.java:800

)

at org.jdesktop.layout.GroupLayout.layoutContainer(GroupLayout.java:676)

at java.awt.Container.layout(Container.java:1401)

at java.awt.Container.doLayout(Container.java:1390)

at java.awt.Container.validateTree(Container.java:1473)

at java.awt.Container.validateTree(Container.java:1480)

at java.awt.Container.validateTree(Container.java:1480)

at java.awt.Container.validateTree(Container.java:1480)

at java.awt.Container.validate(Container.java:1448)

at java.awt.Window.dispatchEventImpl(Window.java:1776)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:153)

at java.awt.Dialog$1.run(Dialog.java:517)

at java.awt.Dialog$2.run(Dialog.java:545)

at java.security.AccessController.doPrivileged(Native Method)

at java.awt.Dialog.show(Dialog.java:543)

at java.awt.Component.show(Component.java:1300)

at java.awt.Component.setVisible(Component.java:1253)

at DodgeSnowLauncher$1.actionPerformed(DodgeSnowLauncher.java:10)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:18

49)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav

a:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel

.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258

)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL

istener.java:236)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3126)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212

)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh

read.java:242)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre

ad.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

Message was edited by:

geniusleonid

[12764 byte] By [geniusleonida] at [2007-10-3 4:15:04]
# 1

1. your applet does not work in IE because it tries to run your applet with msjvm. Use object tag instead of applet.

In the [jdk home]/bin directory there is a tool called htmlconverter.

Use that to convert your html page.

2. your applet tries to do something outside of the applet's sandbox security.

Caused by: java.lang.RuntimeException: java.security.AccessControlException: acc

ess denied (java.net.SocketPermission image.paran.com:80 connect,resolve)

I am not sure what you mean by running the applet locally (appletviewer

with policy, netbeans) Or opening the html page and having a policy for

code run locally.

Why would your applet comming from blogfile.paran.com:80 try to

connect to image.paran.com:80 I guess java sees this as another sub

domain and won't let the applet do this.

3. when I open your applet it takes a full one minute after loading the applet before I see the gui.

after this

http://blogfile.paran.com/BLOG_253895/200609/basic: Loading http://blogfile.paran.com/BLOG_253895/200609/1157418860_DodgeSnow.jar from cache

the jre (Java Plug-in 1.5.0_06) seems to go to sleep for a full one minute.

4. The exception I get is this

java.lang.ClassFormatError: Incompatible magic value 1195984440 in class file javax/swing/LayoutStyle

Because

http://blogfile.paran.com/BLOG_253895/200609/javax/swing/LayoutStyle.class

Does not exist, I guess the jre looks for this file because it's not included

in your jar and I don't have it in my lib/ext or classpath.

You jar does contain a org.jdesktop.LayoutStyle.

A Full trace might help us out:

http://forum.java.sun.com/thread.jspa?threadID=656028

harmmeijera at 2007-7-14 22:16:31 > top of Java-index,Desktop,Core GUI APIs...
# 2

http://blogfile.paran.com/BLOG_253895/200609/1157507311_DodgeSnowLauncher.html

I modified the jar file a little. I guess there is no more security problems

I don't know why the applet is looking for javax/swing/LayoutStyle.class.

I found that javax/swing/LayoutStyle is a class in JDK 6 beta. Maybe I should update JRE.

http://blogfile.paran.com/BLOG_253895/200609/1157507311_plugin150_08.trace

- a full(I guess) trace file for the applet

geniusleonida at 2007-7-14 22:16:31 > top of Java-index,Desktop,Core GUI APIs...
# 3
O my gosh I updated JRE and it FINALLY runs OK lolThanks for the help which saved me. :)
geniusleonida at 2007-7-14 22:16:31 > top of Java-index,Desktop,Core GUI APIs...