Oppure

Loading
05/10/11 7:12
thebonni90
Salve ragazzi
ho un problema con l'applicazione che sto creando
non riesco ad impostare l'icona del jframe e quella del programma quando è in run
public class GUI extends javax.swing.JFrame {

    /** Creates new form GUI */
    public GUI() {
        initComponents();
        //modo per far apparire la finestra al centro dello schermo
        Dimension dim = getToolkit().getScreenSize();
        this.setLocation(dim.width/2-this.getWidth()/2,dim.height/2-this.getHeight()/2); 
this.setIconImage(new
  ImageIcon(getClass().getClassLoader().getResource( "icona.gif")).getImage());
    }


il codice che ho messo è questo ...
ma mi da errore quando faccio this.seticon
per l'immagine ho messo una 24X24 in una cartella che ho creato nella cartella del programma
il suo nome è icona
la icona che ho creato è in gif ma mi da il seguente errore

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
    at GUI.<init>(GUI.java:25)
    at GUI.run(GUI.java:463)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
    at java.awt.EventQueue.accessSalve ragazzi
ho un problema con l'applicazione che sto creando
non riesco ad impostare l'icona del jframe e quella del programma quando è in run
public class GUI extends javax.swing.JFrame {

    /** Creates new form GUI */
    public GUI() {
        initComponents();
        //modo per far apparire la finestra al centro dello schermo
        Dimension dim = getToolkit().getScreenSize();
        this.setLocation(dim.width/2-this.getWidth()/2,dim.height/2-this.getHeight()/2); 
this.setIconImage(new
  ImageIcon(getClass().getClassLoader().getResource( "icona.gif")).getImage());
    }


il codice che ho messo è questo ...
ma mi da errore quando faccio this.seticon
per l'immagine ho messo una 24X24 in una cartella che ho creato nella cartella del programma
il suo nome è icona
la icona che ho creato è in gif ma mi da il seguente errore

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at javax.swing.ImageIcon.<init>(ImageIcon.java:167)
    at GUI.<init>(GUI.java:25)
    at GUI.run(GUI.java:463)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
    at java.awt.EventQueue.access{parsed_message}0(EventQueue.java:84)
    at java.awt.EventQueue.run(EventQueue.java:602)
    at java.awt.EventQueue.run(EventQueue.java:600)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


vedendo tali errori vuol dire che non trova l'immagine giusto ?
però non so come fare ...

grazie di tutto :k:0(EventQueue.java:84)
    at java.awt.EventQueue.run(EventQueue.java:602)
    at java.awt.EventQueue.run(EventQueue.java:600)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext.doIntersectionPrivilege(AccessControlContext.java:87)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)


vedendo tali errori vuol dire che non trova l'immagine giusto ?
però non so come fare ...

grazie di tutto :k:
aaa
05/10/11 8:42
Bonny
si fa cosi:
class Finestra extends JFrame{

    Finestra(){
       
        super("nomeFinestra");
        //creo un istanza della classe Image
        Image img = Toolkit.getDefaultToolkit().getImage("path\image.estensione");
        //setto l'icona del frame
        this.setIconImage(img);
    }
}
aaa
05/10/11 14:57
thebonni90
grazie ma non mi funziona
mi rimane sempre la stessa icona e non riesco a cambiarla ovvero mi rimane quella base

ma nella soluzione crep una nuova classe chiamata Finestra
e poi con super chiamo la suiperclasse che nel mio caso è GUI ma non mi funza
se metto super (GUI )segna errore
e mni rimane sempre l'icona base
io ho fattyo un file chiamato icona.gif che si trova nella cartella icona creata su netbeans

class Finestra extends JFrame{
 
    Finestra(){
       
        super(GUI);
        //creo un istanza della classe Image
        Image img = Toolkit.getDefaultToolkit().getImage("path\icona.gif");
        //setto l'icona del frame
        this.setIconImage(img);
    }
}
Ultima modifica effettuata da thebonni90 05/10/11 15:03
aaa
05/10/11 18:30
Bonny
mah ho non capisco bene cosa vuoi dire ma sembra che tu non sappia bene a cosa serve la parola chiave super(), usata nel costruttore di una classe estesa,
cmq io ho sempre fatto cosi e funziona benissimo, credo che il problema sia un altro.
se vuoi posta tutto il codice magari io o qlc altro ti potrà aiutare.
aaa
05/10/11 18:51
thebonni90
si ho capito che chiami il costruttore della classe padre con super


Ho risolto ...
l'icona era da mettere nella cartella generale ... io avevo fatto una cartella chiamata icone e non funzionava ...
ma come posso mettere tutte le mie icone in una cartella e poi dal programma estrapolare l'icona che mi serve ?
grazie di tutto
aaa
05/10/11 19:01
Bonny
adesso non mi ricordo il percorso che prende di default netbeans
cmq inventa qualcosa:)
del tipo

Image img = Toolkit.getDefaultToolkit().getImage("icone\icona.gif");


la usi per le finestre
e poi per esempio

myJLabel.setIcon(new ImageIcon("icone\icona2.gif"));


mi sa che basta che metti la cartella icone nella directory principale del progetto
Ultima modifica effettuata da Bonny 05/10/11 19:09
aaa
05/10/11 19:35
thebonni90
si ho fatto ... sisi è cosi avevo mesos solo uno / e funziona lo stesso
ma ne ho messi due
anche in linux dovrebbe funzionare giusto ?
aaa