iconos - Icono de la aplicación JavaFX
icons javafx (15)
¿Es posible cambiar el icono de la aplicación usando JavaFX, o tiene que hacerse usando Swing?
¿Qué piensas sobre la creación de un nuevo paquete, es decir, image.icons en tu directorio src y trasladando allí tus imágenes .png? Entonces solo necesitas escribir:
Image image = new Image("/image/icons/nameOfImage.png");
primaryStage.getIcons().add(image);
Esta solución funciona perfectamente para mí, pero aún no estoy seguro de si es correcta (principiante aquí).
Imagen image3 = nueva Imagen ("Ruta");
stage.getIcons (). add (image3);
Intenté esto y funciona totalmente. El código es:
stage.getIcons().add(
new Image(
<yourclassname>.class.getResourceAsStream( "icon.png" )));
icon.png está en la misma carpeta que los archivos fuente.
Intenté esto y funciona:
stage.getIcons().add(new Image(getClass().getResourceAsStream("../images/icon.png")));
Lo usé en mi aplicación
Image icon = new Image(getClass().getResourceAsStream("icon.png"));
window.getIcons().add(icon);
Aquí la ventana es el escenario.
Otra forma 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:
Image ico = new Image("resources/images/iconLogo.png");
stage.getIcons().add(ico);
Asegúrate de importar javafx.scene.image.Image (si utilizas un ide como netbeans, esto debería hacerse automáticamente).
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!!
Si tiene una carpeta de imágenes y el icono está guardado, use este
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("/images/comparison.png")));
y si lo está utilizando directamente desde su paquete, que no es una buena práctica, use esto
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("comparison.png")));
y si tienes una estructura de carpetas y tienes tu ícono dentro de ese uso
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("../images/comparison.png")));
Suponiendo 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 siguiente, si está envuelto en un frasco contenedor, deberá usar el siguiente enfoque:
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("icon.png")));
puedes agregarlo en fxml. Nivel de escenario
<icons>
<Image url="@../../../my_icon.png"/>
</icons>
stage.getIcons (). add (nueva imagen (("nospaniol / ui / icons / nospaniol.png")));
stage.getIcons().add(new Image("/images/logo_only.png"));
Es un buen hábito hacer una carpeta de imágenes en su carpeta src y obtener imágenes de ella.
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("/icon.png" )));
Puede agregar más de un ícono con diferentes tamaños usando 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
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("/icon.png")));
Si su icon.png está en el directorio de recursos y recuerde poner un ''/'' antes de lo contrario, no funcionará
stage.getIcons().add(new Image(ClassLoader.getSystemResourceAsStream("images/icon.png")));
la carpeta de imágenes debe estar en la carpeta de Recursos.