Como cambiar el icono de un frame
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.
Lo que quiero saber es como se puede hacer para cambiarlo por un icono personalizado.
Gracias y espero una respuesta pronto.
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
Tb me gustaría que me solucionaseis este problema.
Gracias
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 ;)
...
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 ;)
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;
}
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;
}