Link to home
Start Free TrialLog in
Avatar of Rene_van_O
Rene_van_OFlag for Netherlands

asked on

Java Web Start, modify splash screen does not work

I have a problem with the splash screen not displaying. This is the first relevant portion of my jnlp:

<jnlp spec="1.5+" codebase="http://www.i-modulas.nl/downloads/"
href="imodulas.jnlp">
  <information>
    <title>i-Modulas Thin Client</title>
    <vendor>i-Modulas Software BV</vendor>
    <icon kind="splash" href="http://www.i-modulas.nl/downloads/javathinsplash.jpg"/>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.5+"/>
    <jar href="isrun.jar"/>
    <property name="iscobol.conf" value="http://www.i-modulas.nl/downloads/javaclientproperties.txt"/>
  </resources>
  <resources os="Windows">
    <property name="swing.defaultlaf" value="com.sun.java.swing.plaf.windows.WindowsLookAndFeel" />
  </resources>
  <resources os="Linux">
    <property name="swing.defaultlaf" value="com.sun.java.swing.plaf.gtk.GTKLookAndFeel" />
  </resources>
...
The application starts normal and uses a different look and feel under Windows as under Linux, but I do not see the splash screen. I tried different ways of referencing to the picture and I also tried using a .gif format. It never worked!

What am I doing wrong? You can check it out at www.i-modulas.nl/installatie/javaclient. Use the link just above 'Java starting'. Any suggestions are welcome!

René
Avatar of Dejan Pažin
Dejan Pažin
Flag of Austria image


There is no problem really, its just that the splash screen doesn't show on the first start. On every next start, the splash is there.


btw: I had a lot of problems with this issue, but they never got solved. Check out my question and the answers here:

https://www.experts-exchange.com/questions/22977392/Change-splash-screen-image-in-Java-WebStart.html

Again, you dont have that problem, since your splash screen shows fine.
Avatar of Rene_van_O

ASKER

Do you mean that when you try my javaclient link, you get a modified splash screen??? I myself I just get the standard Java 6 splash screen!

This is really interesting. I get the splash screen at home (I remember a white picture with some green text on it), now I tried it from work and I cant get it anymore.

Did you change anything? If you didnt, its got something to do with client side settings. Maybe java version.
Dejanpazin, no I did not change anything. But I'm glad you now also find out what my problem is. The green text on the white background is the same style as on our website, so yes, you got the right splash screen.
About the Java versions, I have Java 6 update 10 (beta) installed because I earlier experienced problems with JWS, which were solved with installing this prerelease. What versions do you have installed at work and at home?
I searched a little bit  further and managed to get the JWS Console. These are the deployment properties:

Dump deployment properties ...
----------------------------------------------------
deployment.browser.path = C:\Program Files\Internet Explorer\iexplore.exe
deployment.browser.vm.iexplorer = true
deployment.browser.vm.mozilla = true
deployment.cache.enabled = true
deployment.cache.jarcompression = 0
deployment.cache.max.size = -1
deployment.capture.mime.types = false
deployment.console.startup.mode = SHOW
deployment.control.panel.log = false
deployment.javapi.cache.update = false
deployment.javapi.lifecycle.exception = false
deployment.javapi.log.filename =
deployment.javapi.runtime.type = 0
deployment.javapi.trace.filename =
deployment.javaws.associations = ASK_USER
deployment.javaws.autodownload = ALWAYS
deployment.javaws.cache.update = false
deployment.javaws.home.jnlp.url = http://java.sun.com/products/javawebstart
deployment.javaws.installURL = http://java.sun.com/products/autodl/j2se
deployment.javaws.logFileName =
deployment.javaws.muffin.max = 256
deployment.javaws.shortcut = ASK_IF_HINTED
deployment.javaws.splash.index = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\cache\6.0\splash\splash.xml
deployment.javaws.ssv.enabled = true
deployment.javaws.traceFileName =
deployment.javaws.uninstall.shortcut = false
deployment.javaws.update.timeout = 1500
deployment.javaws.version = javaws-1.4.2_03
deployment.javaws.viewer.bounds = 452,4,895,360
deployment.jpi.mode.new = true
deployment.log = true
deployment.max.output.file.size = 10
deployment.max.output.files = 5
deployment.mime.types.use.default = true
deployment.proxy.bypass.local = false
deployment.proxy.override.hosts =
deployment.proxy.same = false
deployment.proxy.type = 3
deployment.repository.askdownloaddialog.show = true
deployment.repository.enabled = true
deployment.security.SSLv2Hello = false
deployment.security.SSLv3 = true
deployment.security.TLSv1 = true
deployment.security.askgrantdialog.notinca = true
deployment.security.askgrantdialog.show = true
deployment.security.authenticator = true
deployment.security.browser.keystore.use = true
deployment.security.clientauth.keystore.auto = true
deployment.security.expired.warning = true
deployment.security.https.warning.show = false
deployment.security.jsse.hostmismatch.warning = true
deployment.security.notinca.warning = true
deployment.security.sandbox.awtwarningwindow = true
deployment.security.sandbox.jnlp.enhanced = true
deployment.security.trusted.policy =
deployment.security.validation.crl = false
deployment.security.validation.ocsp = false
deployment.system.security.cacerts = C:\Program Files\Java\jre6\lib\security\cacerts
deployment.system.security.jssecacerts = C:\Program Files\Java\jre6\lib\security\jssecacerts
deployment.system.security.oldcacerts = C:\Program Files\Java\jre6\lib\security\cacerts
deployment.system.security.oldjssecacerts = C:\Program Files\Java\jre6\lib\security\jssecacerts
deployment.system.security.trusted.certs = C:\Program Files\Java\jre6\lib\security\trusted.certs
deployment.system.security.trusted.clientauthcerts = C:\Program Files\Java\jre6\lib\security\trusted.clientcerts
deployment.system.security.trusted.jssecerts = C:\Program Files\Java\jre6\lib\security\trusted.jssecerts
deployment.system.tray.icon = true
deployment.trace = true
deployment.update.mime.types = true
deployment.user.cachedir = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\cache
deployment.user.extdir = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\ext
deployment.user.logdir = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\log
deployment.user.security.policy = file://C:/Documents%20and%20Settings/Ren%c3%a9/Application%20Data/Sun/Java/Deployment/security/java.policy
deployment.user.security.saved.credentials = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\security\auth.dat
deployment.user.security.trusted.cacerts = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\security\trusted.cacerts
deployment.user.security.trusted.certs = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\security\trusted.certs
deployment.user.security.trusted.clientauthcerts = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\security\trusted.clientcerts
deployment.user.security.trusted.jssecacerts = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\security\trusted.jssecacerts
deployment.user.security.trusted.jssecerts = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\security\trusted.jssecerts
deployment.user.tmp = C:\Documents and Settings\René\Application Data\Sun\Java\Deployment\tmp
deployment.version = 6.0
java.quick.starter = true
----------------------------------------------------
Done.

I checked also the contents of the splash.index reference. The XML-file contains:

#
#Wed Aug 06 15:57:46 CEST 2008
http\://www.i-modulas.nl/downloads/imodulas.jnlp=C\:\\Documents and Settings\\Ren\u00E9\\Application Data\\Sun\\Java\\Deployment\\cache\\6.0\\34\\77ae12e2-798ea2f7

Does this help?

René

This is what I think:

1. Even if the splash screen works fine, you will always get the javaws splash first. Try JGoodies application to see that:

http://www.jgoodies.com/download/demos/looks/looksdemo.jnlp

2. On the first download the image will never show (thats how it is).

3. On the next download the image should show, but it doesnt, since the application starts too fast.

So basicly, it could be that your application shows the splash, we just dont see it :)


And for the answers:

This is what i have at work:

Java Web Start 1.6.0_04
Using JRE version 1.6.0_04 Java HotSpot(TM) Client VM

I'm not sure what i have at home.

One other thing: when i start the application, there is no screen (i dont know what the application does). If I start it more then once, I have many instances of the application running. Is that how it was suppose to be?

Try showing a window on start of the project. I think it could make a difference in speed of startup.
The Java AppServer was not running anymore for several days. I've restarted it, so now you must get a login window. Still your response does not explain why you saw the splash screen at home, but not at your work.

I tried it again, and there is no login window, only javaw process starts (which I have to kill later through task manager).

I am not sure if thats the reason, i'd just try it by delaying the startup process (could be the speed of computer).
I do not understand it. After receiving your message, I immediately tried to start the application again from our javaclient webpage and I still get the login and console windows. See attached screen shot.
desktop.JPG

I tried it again, and there is nothing there. I mean, no window is opened.

I also have the console opened (but that is the client side setting) and there is no output to the console.

Can you add some System.out.println so i can see it in the console?
I tried this. When I ran locally and started the Java application from a DOS box, I got the console message that I added displayed in the DOS box. But when running from the server through JWS, I do not get the message in my console window. So I'm not sure where this message goes to now.
Anyhow, I get the feeling we are not getting anywhere. At your first attempt it runs fine, even with a modified splash screen and now it does not run at all anymore? Maybe when you try again from home you will find out it runs fine again?

The problem is in the application. When I start it I get the following exception after a while, telling me it cant connect:

java.net.ConnectException: Connection timed out: connect
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.PlainSocketImpl.doConnect(Unknown Source)
      at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
      at java.net.PlainSocketImpl.connect(Unknown Source)
      at java.net.SocksSocketImpl.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.connect(Unknown Source)
      at java.net.Socket.<init>(Unknown Source)
      at java.net.Socket.<init>(Unknown Source)
      at javax.net.DefaultSocketFactory.createSocket(Unknown Source)
      at com.iscobol.rpc.messageserver.client.MessageClient.connect(Unknown Source)
      at com.iscobol.rpc.dualrpc.client.DualRpcClient.connect(Unknown Source)
      at com.iscobol.gui.client.ClientHandler.init(Unknown Source)
      at com.iscobol.gui.client.Client.main(Unknown Source)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at com.sun.javaws.Launcher.executeApplication(Unknown Source)
      at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
      at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
      at com.sun.javaws.Launcher.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)

I guess thats why the application never starts.


You are right! I recall now that we have protected our test environment with VPN; I'm testing within the VPN, you are outside so you do not get access. I totally overlooked this because you told me it worked from your home. My excuses!

This is my home installation:

Java Web Start 1.6.0_03
Using JRE version 1.6.0_03 Java HotSpot(TM) Client VM

I tried again, and its not what I thought. The splash screen shows immediately, there is no java screen at all (except for the first start, if I clear the javaws temp files and then start).

So I guess it could be because of java version.
Ok, good guess! So I removed nine (9!) old Java Runtime Environments from my system, cleaned the register and temp files, restarted and tried again. The Java Console now says: "Java Web Start 1.6.0_03 Using JRE version 1.6.0_03 Java HotSpot(TM) Client VM", so that looks good. I get the "Java Starting" splash as shown on our website, but this is the first time, so I try again ..... still the same!! That Sun Java rubish makes me nuts!! COBOL was not so bad at all!

Ok, we will get to the bottom of this. I tried the demo web start application, here:

http://blogs.sun.com/thejavatutorials/entry/changing_the_java_web_start

The demo is there only to show the splash screen function, so it should work, right? Here is the jnlp:

http://java.sun.com/docs/books/tutorialJWS/uiswing/components/ButtonDemo.jnlp

Well, I tried this on my computer and it didnt work, and then I tried it on another and it worked just fine.

I suggest you try it on yours. If it doesnt work, then it must have something to do with the situation on your computer (as well as on mine).
Sorry, it does not work. I still get the Java splash. So now it becomes interesting. Why doesn't it work on my and one of your computers and why does it work fine on your other pc? It get the impression it has nothing to do with the Java version, right?

I'm out of ideas for this one. It obviously has got something to do with the client side of java webstart setting. It could be either version, some setting, a bug, or something completely different. Dont know.

I will look at it some more later on.
Sorry for the delay, I missed your reply. I agree. And maybe other people who read this have ideas or experiences that will help to get this solved or at least point give us a clue why this does not work?
ASKER CERTIFIED SOLUTION
Avatar of Dejan Pažin
Dejan Pažin
Flag of Austria image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Well done Dejanpazin! You are not only a guru, but you also do not give up easily. I think a lot of people can benefit from this excellent tip. I checked a lot of forums, but none provided this clear solution. Thanks!

Thx for the comment Rene_van_O! Feels good to know the solution is really appreciated.