2010-01-17 24 views
6

Estoy tratando de obtener un ícono destop personalizado para que se muestre para mi aplicación, pero por alguna razón, sin importar lo que haga, aparece el mismo ícono java predeterminado. He intentado todo lo que puedo pensar y me he ido y comparé mi archivo jnlp con otros cuyos iconos parecen funcionar bien. De acuerdo con todo lo que he leído, lo siguiente debería funcionar bien. Pero, por supuesto, no:Crear un ícono de escritorio usando JWS JNLP para una aplicación JavaFX

<information> 
    <title>MikesApp</title> 
    <vendor>Mike</vendor> 
    <homepage href="http://www.mikesapp.com/"/> 
    <description>Mikes App.</description> 
    <icon kind="shortcut" href="res/icon64x64.png" width="64" height="64"/> 
    <offline-allowed/> 
    <shortcut> 
     <desktop/> 
    </shortcut> 
</information> 

Cualquier idea sería muy apreciada.

Respuesta

1

No tengo una respuesta específica, me temo, pero Project MaiTai es una aplicación de código abierto escrita en JavaFX, y que tiene un icono de escritorio personalizado.

Si aún no lo ha hecho, tal vez consultar el código JNLP para MaiTai le daría algunos consejos.

1

Hay un ejemplo de cómo hacerlo en el libro JavaFX en acción, si tiene acceso a eso. Debes asegurarte de que el archivo res/icon64x64.png se pueda descargar desde cualquier sitio en el que esté alojada la aplicación, en relación con la ubicación del JNLP. Intente cargarlo directamente en un navegador para asegurarse de que esté disponible/válido.

5

me gustaría probar el siguiente, en orden:

  1. crear un icono de 32x32 en tamaño y añadirlo como un adicional <icon kind="shortcut".... El spec dice que el tamaño se usa para iconos de escritorio.
  2. Use su icono de 64x64 como "predeterminado". Por ejemplo, los nuevos <icon> elementos serían:

    <icon href="res/icon64x64.png" width="64" height="64"/> 
    <icon kind="shortcut" href="res/icon32x32.png" width="32" height="32"/> 
    <icon kind="shortcut" href="res/icon64x64.png" width="64" height="64"/> 
    
  3. Recuerde que sus imágenes se accede en relación con su atributo codebase en su elemento XML jnlp

  4. Si ninguno de los trabajos, que son bienvenidos para comparar su JNLP al one of mine that works.

Me doy cuenta de que este material de JNLP es un poco molesto. Espero que uno de estos trabaje para ti.

+0

Gracias Eric. Intenté lo que sugeriste, pero no me alegré hasta ahora. Creé el icono de acceso directo, intenté con los formatos gif, png y jpg y usé tanto uris absolutos como relativos. El que tienes se ve igual a lo que tengo. La peor parte es saber que la solución inevitablemente será algo realmente estúpidamente simple. Las cosas de JNLP son un poco dolorosas para entender pero he terminado pensando que es genial. Mis frustraciones de iconos están arrojando una sombra sobre mi entusiasmo JNLP por el momento. Voy a tener otra oportunidad este fin de semana y ver si puedo resolverlo. – mikewilliamson

+0

Otra cosa que hice que podría marcar la diferencia es crear un png de 256x256 para el predeterminado que el sistema puede reescalar.Si publica su JNLP completo, puedo verlo si lo desea. –

+1

Tal vez el ícono (predeterminado) se haya almacenado en la memoria caché, por lo que es posible que deba vaciar el efectivo antes de ver el nuevo ícono personalizado. (No tengo idea de cómo javaws manejan los iconos, pero me recuerda las frustraciones de favicon/browser-cache ...). Para borrar el caché: inicie javaws ("Java Application Cache Viewer"), abra el "Panel de control de Java" a través de Editar | Preferencias, presiona "Eliminar archivos ..." (en la pestaña "General"). – netzwerg

3

Supongo que el problema en su caso es el atributo CODEBASE que falta. Ver un fragmento de trabajo:

<?xml version="1.0"?> 
<jnlp spec="1.5+" 
     codebase="http://www.sweethome3d.com/" 
     href="SweetHome3D.jnlp"> 
    <information> 
    <title>Sweet Home 3D</title> 
    <vendor>eTeks</vendor> 
    <homepage href="http://www.sweethome3d.com/"/> 
    <description>Sweet Home 3D</description> 
    <description kind="short">Arrange the furniture of your house</description> 
    <icon href="SweetHome3DIcon.gif"/> 
    <icon kind="splash" href="SweetHome3DSplashScreen.jpg"/> 
    <offline-allowed/> 
    <shortcut online="false"> 
     <desktop/> 
     <menu submenu="eTeks Sweet Home 3D"/> 
    </shortcut> 
    <association extensions="sh3d sh3l sh3f sh3t sh3p" 
       mime-type="application/SweetHome3D"/> 
    </information> 
3

Tuvimos el mismo problema. Funcionó bien inicialmente y luego con el tiempo (¿algunas actualizaciones de Java?) Dejó de funcionar. Cuando llegué a la resolución de problemas, descubrí que aunque javaws envía que es compatible con gzip, no se manejó nuestra respuesta gzip. Apagué gzip para estos iconos y funcionó bien una vez más.

Cuestiones relacionadas