¿Es posible cambiar el icono de la aplicación usando JavaFX, o tiene que hacerse usando Swing?
172
Asumiendo que su etapa es "etapa" y el archivo está en el sistema de archivos:
stage.getIcons().add(new Image("file:icon.png"));
Según el comentario a continuación, si está envuelto en un frasco contenedor, deberá utilizar el siguiente enfoque:
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("icon.png")));
stage.getIcons().add( new Image( <yourclassname>.class.getResourceAsStream( "icon.png" )));
obras..dektop
archivo apropiado . Vea mi descripción aquíIntenté esto y funciona totalmente. El codigo es:
icon.png está en la misma carpeta que los archivos de origen.
fuente
Programa completo para principiantes :) Este programa establece un icono para StackOverflowIcon.
Salida Screnshot
No es necesario cambiar el código. Aún funciona bien. Probado y verificado en Java 1.8 (1.8.0_45). La ruta se puede establecer en local o remota, ambos son compatibles.
O
Espero eso ayude. ¡¡Gracias!!
fuente
puedes agregarlo en fxml. Nivel de etapa
fuente
Si tiene una carpeta de imágenes y el icono está guardado en ese, use esto
y si lo está utilizando directamente desde su paquete, lo cual no es una buena práctica, use esto
y si tiene una estructura de carpetas y tiene su icono dentro de ese uso
fuente
Si su icon.png está en el directorio de recursos y recuerde poner un '/' antes, de lo contrario no funcionará
fuente
¿Qué piensas acerca de crear un nuevo paquete, es decir, image.icons en tu directorio src y mover allí tus imágenes .png? Entonces solo necesitas escribir:
Esta solución me funciona perfectamente, pero aún no estoy seguro de si es correcta (principiante aquí).
fuente
resources
carpeta.Puede agregar más de un icono con diferentes tamaños utilizando este método. Las imágenes deben tener diferentes tamaños de la misma imagen y se elegirá el mejor tamaño.
eg. 16x16, 32,32
fuente
La carpeta de imágenes debe estar en la carpeta de recursos.
fuente
Puede poner fácilmente el icono a su aplicación usando esta línea de código
stage.getIcons (). add (nueva imagen ("ruta de imagen"));
fuente
Es una buena costumbre hacer una carpeta de imágenes en su carpeta src y obtener imágenes de ella.
fuente
Usé esto en mi aplicación
Aquí la ventana es el escenario.
fuente
Si ejecuta el archivo jar, el código especificado por Michael Berry cambiará el icono en la barra de título y en la barra de tareas. El icono de acceso directo no se puede cambiar.
Si ejecuta un programa nativo compilado con com.zenjava, debe agregar un enlace al icono del programa:
Esto agregará un ícono al atajo y la barra de tareas.
fuente
Alternar iconos en tiempo de ejecución:
Además de las respuestas aquí, descubrí que una vez que ha asignado un ícono a su aplicación por primera vez, no puede alternarlo simplemente agregando un nuevo ícono a su escenario (esto sería útil si necesita alternar el ícono de su aplicación de encendido / apagado habilitado / deshabilitado).
Para establecer un nuevo ícono durante el tiempo de ejecución, use getIcons (). Remove (0) antes de intentar agregar un nuevo ícono, donde 0 es el índice del ícono que desea anular, como se muestra aquí:
Para acceder al escenario desde otros métodos o clases, puede crear un nuevo campo estático para el escenario en su clase principal, por lo que puede acceder desde el método start () encapsulando un método estático al que puede acceder desde cualquier lugar de su aplicación .
fuente
Si tienes,
Invalid URL or resource not found
pon tu icon.png en la carpeta "bin" en tu espacio de trabajo.fuente
Otra manera fácil de insertar su propio icono en la barra de título en JavaFX es agregar la imagen a su etapa principal utilizando el siguiente método:
Asegúrese de importar javafx.scene.image.Image (si usa un ide como netbeans, esto debería hacerse automáticamente por usted).
fuente
Intenté esto y funciona:
fuente