Error trying to swap Jframe icon

Asked

Viewed 244 times

2

I am using Netbeans, but I want to change the default icon of my application. But, I came across this error.

inserir a descrição da imagem aqui

Follows the code:

import java.awt.Toolkit;

/**
 *
 * @author renato.lazaro
 */
public class IconJFrame extends javax.swing.JFrame {

    /**
     * Creates new form IconJFrame
     */
    public IconJFrame() {
        initComponents();
        setIcon();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 300, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>                        

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(IconJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(IconJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(IconJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(IconJFrame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the form */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new IconJFrame().setVisible(true);
            }
        });
    }

    private void setIcon() {
        setIconImage ( Toolkit . getDefaultToolkit (). getImage ( getClass (). getResource ( "iconframe.png" )));

    }

    // Variables declaration - do not modify                     
    // End of variables declaration                   
}

Another error that occurred:

inserir a descrição da imagem aqui

  • Just import the class, no!?

  • 1

    I imported it to java awt Toolkit, but the Application returns with error. Exception in thread "AWT-Eventqueue-0" java.lang.Nullpointerexception

  • So the problem is no longer that of the question, probably the Resource informed in the code is going null, add the code here so we can analyze.

  • I used as reference the example of the https://www.youtube.com/watch?v=40ikcEonWng video However, it returns with error, if someone has another solution and may be helping.

  • Add the code to the question, and a printscreen of the package hierarchy of your project, where the icon image is.

1 answer

2


Your file name is wrong in the code. In print, the file is named in the package as iconframe.png.PNG, and in the code is iconframe.png. Rename your file correctly to iconframe.png(recommended to do), or change the code to:

setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("iconframe.png.PNG")));
  • diegofm! It worked perfectly, I noticed the most complex things, but I left aside a simple thing that made total difference in the execution of the application.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.