Como cambiar el icono de un frame

Leo Reich
23 de Agosto del 2004
Hola estimados programadores de java, mi duda es que cuando creo una aplicacion, en el frame me aparece el icono de la taza de cafe.
Lo que quiero saber es como se puede hacer para cambiarlo por un icono personalizado.
Gracias y espero una respuesta pronto.

KePitt2
23 de Agosto del 2004
Yo ni siquiera se ponerle una imagen de fondo a mi ventana. No se si las imagenes hay que meterlas en un JFrame o en un JPanel.
Tb me gustaría que me solucionaseis este problema.
Gracias

Richyy poder
23 de Agosto del 2004
import ...
...

public class ClasePrincipal extends JFrame{
...

public ClasePrincipal(){
...
setIconImage((new ImageIcon("imagenes/icono.jpg")).getImage());
...
}

public static void main (String poderSoy[]){
new ClasePrincipal();
}
}

Recuerda que java solo te permite cargar imagenes de extensión JPG, JPEG, GIF ó PNG.
Chao.
Atte.: Richyy poder ;)

kircsoft
23 de Agosto del 2004
Hola, hay otra manera de poner un icono en el formulario principal.

Lo que tienes que hacer es poner este codigo que te doy a continuacion y listo;






public java.awt.Image getIconImage() {
try {
ClassLoader cl = this.getClass().getClassLoader();
java.io.InputStream in = cl.getResourceAsStream("img/esd.png");
byte[] data = getBytesFromInputStream(in, in.available());
return java.awt.Toolkit.getDefaultToolkit().createImage(data);
}
catch (Exception e){
e.getMessage();
e.printStackTrace();
}
return null;
}

private static byte[] getBytesFromInputStream(java.io.InputStream in, int length) throws java.io.IOException {
java.io.DataInputStream din = new java.io.DataInputStream(in);
byte[] bytecodes = new byte[length];
try {
din.readFully(bytecodes);
} finally {
if (din != null) din.close();
}
return bytecodes;
}