0

Tengo un programa que le quiero cambiar el icono (en vez de la taza de cafe) a una imagen que tengo en ruta pero al momento de agregar la linea 27 me manda un error, espero que me ayuden graciasintroducir la descripción de la imagen aquí

  • Podria ser por la ruta de la imagen, recuerdo que en NetBeans hay que usar doble diagonal //. – FrEqDe Feb 01 '19 at 02:13

1 Answers1

0

El codigo que empleastes para buscar el recurso de imagen se usa cuando la misma se encuentra dentro de tu proyecto o paquete. Viendo que la imagen es externa, dentro de un directorio fuera de tu proyecto te sugiero aplicar lo siguiente.

ImageIcon icono =  new ImageIcon(new File("/home/andy/Imágenes/407463-PD558O-40.jpg").toURI().toURL());

Tambien se puede utilizar este algoritmo en el constructor del Jframe

 setIconImage(Toolkit.getDefaultToolkit().
            getImage(getClass().getResource("recursos/icono.png"))
        );

El resultado actual sera que el icono se mostrara en la barra de aplicaciones cuando se ejecute. Otra opcion es cambiar todo el tema con NimRODTheme que permite customizar todo. Para ello hay que descargar sus librerias. Ejm para el codigo del main del JFrame

public static void main(String args[]) {
    try {
        NimRODTheme nt = new NimRODTheme();
        nt.setPrimary(new Color(153, 244, 51));
        nt.setPrimary1(new Color(133, 224, 31));
        nt.setPrimary2(new Color(143, 234, 41));
        nt.setPrimary3(new Color(153, 244, 51));
        nt.setSecondary(new Color(222, 230, 250));
        nt.setSecondary1(new Color(202, 210, 230));
        nt.setSecondary2(new Color(212, 220, 240));
        nt.setSecondary3(new Color(222, 230, 250));
        nt.setMenuOpacity(20);
        nt.setFrameOpacity(20);
        nt.setOpacity(20);
        NimRODLookAndFeel NimRODLF = new NimRODLookAndFeel();
        NimRODLF.setCurrentTheme(nt);
        UIManager.setLookAndFeel(NimRODLF);
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new PRINCIPAL().setVisible(true);

            }
        });
    } catch (UnsupportedLookAndFeelException ex) {
        Logger.getLogger(PRINCIPAL.class.getName()).log(Level.SEVERE, null, ex);
    }
}
AndyC
  • 1,002
  • 1
  • 5
  • 13
  • Ya agregue esta linea de codigo ImageIcon icono = new ImageIcon(new File("/home/andy/Imágenes/407463-PD558O-40.jpg").toURI().toURL()); y ya no me marca error pero no me muestra la imagen como icono y ya comprobe la ruta – Dee Dee Gtz Feb 01 '19 at 05:19
  • Recuerda que debes cambiar la ruta de la imagen segun donde tu la tengas guardada. Por que la mostrada tiene la ruta de mi pc....!!!! ajusta eso y me cuentas – AndyC Feb 01 '19 at 13:40
  • Si puse la ruta de la imagen y no sirve – Dee Dee Gtz Feb 01 '19 at 16:14
  • Revisa que las dimensiones del icono sea 16x16, 32x32, 64x64 y 128x128 – AndyC Feb 01 '19 at 17:21
  • ¿En que extension debe de estar?, la que estoy usando es .png – Dee Dee Gtz Feb 02 '19 at 05:25