quitar - java cambiar icono aplicacion
¿Cómo cambio el ícono de la aplicación predeterminada en Java? (9)
Estoy usando NetBeans, tratando de cambiar el icono familiar de la taza de café de Java a un archivo png que he guardado en un directorio de recursos en el archivo jar. He encontrado muchas páginas web diferentes que afirman que tienen una solución, pero hasta ahora ninguna funciona.
Esto es lo que tengo en este momento (omitiendo el bloque try-catch):
URL url = new URL("com/xyz/resources/camera.png");
Toolkit kit = Toolkit.getDefaultToolkit();
Image img = kit.createImage(url);
getFrame().setIconImage(img);
La clase que contiene este código está en el paquete com.xyz , si eso hace alguna diferencia. Esa clase también extiende JFrame. Este código arroja una MalformedUrlException en la primera línea.
Alguien tiene una solución que funciona?
O coloque la imagen en una ubicación relativa a una clase y no necesita toda la información del paquete / ruta en la cadena misma.
com.xyz.SomeClassInThisPackage.class.getResource( "resources/camera.png" );
De esta forma, si mueve la clase a un paquete diferente, no tiene que encontrar todas las cadenas, solo mueve la clase y su directorio de recursos.
java.net.URL url = ClassLoader.getSystemResource("com/xyz/resources/camera.png");
Puede o no requerir un ''/'' en el frente del camino.
/** Creates new form Java Program1*/
public Java Program1()
Image im = null;
try {
im = ImageIO.read(getClass().getResource("/image location"));
} catch (IOException ex) {
Logger.getLogger(chat.class.getName()).log(Level.SEVERE, null, ex);
}
setIconImage(im);
Esto es lo que utilicé en la GUI en netbeans y funcionó perfectamente
En una clase que amplía un método de uso setIconImage
.
this.setIconImage(new ImageIcon(getClass().getResource("/resource/icon.png")).getImage());
Prueba esto escribe después
initcomponents();
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("Your image address")));
Simplemente vaya a Netbeans, en la vista de diseño, vaya a la propiedad JFrame
, elija propiedad de imagen de icono, elija Establecer propiedad iconImage
del iconImage
usando: "Código personalizado" y luego en la función Form.SetIconImage()
coloque el siguiente código:
Toolkit.getDefaultToolkit().getImage(name_of_your_JFrame.class.getResource("image.png"))
No te olvides de importar:
import java.awt.Toolkit;
en el código fuente!
Debe definir iconos de varios tamaños, las distribuciones de Windows y Linux, como Ubuntu, usan diferentes iconos en la barra de tareas y Alt-Tab.
public static final URL ICON16 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug16.png");
public static final URL ICON32 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug32.png");
public static final URL ICON96 = HelperUi.class.getResource("/com/jsql/view/swing/resources/images/software/bug96.png");
List<Image> images = new ArrayList<>();
try {
images.add(ImageIO.read(HelperUi.ICON96));
images.add(ImageIO.read(HelperUi.ICON32));
images.add(ImageIO.read(HelperUi.ICON16));
} catch (IOException e) {
LOGGER.error(e, e);
}
// Define a small and large app icon
this.setIconImages(images);
constructor de marco interior
try{
setIconImage(ImageIO.read(new File("./images/icon.png")));
}
catch (Exception ex){
//do something
}
Ejemplo:
URL imageURL = this.getClass().getClassLoader().getResource("Gui/icon/report-go-icon.png");
ImageIcon iChing = new ImageIcon("C://Users//RrezartP//Documents//NetBeansProjects//Inventari//src//Gui//icon//report-go-icon.png");
btnReport.setIcon(iChing);
System.out.println(imageURL);