quitar - Cómo cambiar el icono en la barra de título de una etapa en java fx 2.0 de mi aplicación
java cambiar icono aplicacion (6)
Esta pregunta ya tiene una respuesta aquí:
- JavaFX Application Icon 13 respuestas
He intentado el
stage.getIcons().add(new Image("attuncore.jpg"));
Pero no sé qué está pasando mal ...
Por favor ayuda. Gracias por adelantado.
¿Su imagen tiene el tamaño correcto? Estados de Javadoc:
público final ObservableList getIcons ()
Obtiene las imágenes de los iconos que se usarán en las decoraciones de la ventana y cuando se minimicen. Las imágenes deben tener diferentes tamaños de la misma imagen y se elegirá el mejor tamaño, por ej. 16x16, 32,32.
La solución que encontré estableciendo las propiedades del directorio de trabajo independiente para empaquetar donde se ubica mi main y la imagen.
Puede cargar la imagen desde el classpath de esta manera:
new Image(XYZ.class.getResourceAsStream("/xyz.png"))
donde XYZ es un nombre de clase (quizás el que está cargando la imagen) y xyz.png es el nombre de su archivo de imagen, ponerlo en un directorio (o archivo JAR) incluido en su classpath.
Si desea colocar la imagen junto al archivo fuente, debe omitir el / carácter. Su IDE necesita ser configurado para copiar recursos (como * .png) del directorio src al bin, entonces. Pero se supone que este es el comportamiento estándar.
No te olvides de hacer la importación
import javafx.scene.image.Image;
Image icon = new Image(getClass().getResourceAsStream("myicon.png"));
stage.getIcons().add(icon);
Reemplaza "myicon.png"
con tu ícono. En este caso, está en la misma carpeta que tu clase java.
Programa completo para principiantes :) Este programa establece el icono de desbordamiento de pila.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Icon extends Application {
@Override
public void start(Stage stage) {
StackPane root = new StackPane();
// set icon
stage.getIcons().add(new Image("/path/to/.jpg"));
stage.setTitle("Wow!! Icon");
stage.setScene(new Scene(root, 300, 250));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Salida Screnshot
Actualizado para JavaFX 8
No es necesario cambiar el código. Todavía funciona bien. Probado y verificado en Java 1.8 (1.8.0_45). La ruta se puede establecer en local o remota, ambas son compatibles.
stage.getIcons().add(new Image("/path/to/javaicon.png"));
O
stage.getIcons().add(new Image("https://example.com/javaicon.png"));
Espero eso ayude. ¡¡Gracias!!
Para aquellos que tuvieron un problema con:
URL no válida: URL no válida o recurso no encontrado
La mejor solución es crear un nuevo paquete, es decir, image.icons y mover allí su imagen .png. Entonces solo necesitas escribir:
Image image = new Image("/image/icons/list.png");
primaryStage.getIcons().add(image);
¡Espero que esto ayude a alguien!