Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - impostazione icona programma javajava
Forum - Java - impostazione icona programma javajava

Avatar
thebonni90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 01/01/2011

Segnala al moderatore
Postato alle 9:12
Mercoledì, 05/10/2011
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
Codice sorgente - presumibilmente Java

  1. public class GUI extends javax.swing.JFrame {
  2.  
  3.     /** Creates new form GUI */
  4.     public GUI() {
  5.         initComponents();
  6.         //modo per far apparire la finestra al centro dello schermo
  7.         Dimension dim = getToolkit().getScreenSize();
  8.         this.setLocation(dim.width/2-this.getWidth()/2,dim.height/2-this.getHeight()/2);
  9. this.setIconImage(new
  10.   ImageIcon(getClass().getClassLoader().getResource( "icona.gif")).getImage());
  11.     }



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$2.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$000(EventQueue.java:84)
    at java.awt.EventQueue$1.run(EventQueue.java:602)
    at java.awt.EventQueue$1.run(EventQueue.java:600)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.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:

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 10:42
Mercoledì, 05/10/2011
si fa cosi:
Codice sorgente - presumibilmente Java

  1. class Finestra extends JFrame{
  2.  
  3.     Finestra(){
  4.        
  5.         super("nomeFinestra");
  6.         //creo un istanza della classe Image
  7.         Image img = Toolkit.getDefaultToolkit().getImage("path\\image.estensione");
  8.         //setto l'icona del frame
  9.         this.setIconImage(img);
  10.     }
  11. }


PM Quote
Avatar
thebonni90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 01/01/2011

Segnala al moderatore
Postato alle 16:57
Mercoledì, 05/10/2011
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

Codice sorgente - presumibilmente Java

  1. class Finestra extends JFrame{
  2.  
  3.     Finestra(){
  4.        
  5.         super(GUI);
  6.         //creo un istanza della classe Image
  7.         Image img = Toolkit.getDefaultToolkit().getImage("path\\icona.gif");
  8.         //setto l'icona del frame
  9.         this.setIconImage(img);
  10.     }
  11. }


Ultima modifica effettuata da thebonni90 il 05/10/2011 alle 17:03
PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 20:30
Mercoledì, 05/10/2011
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.

PM Quote
Avatar
thebonni90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 01/01/2011

Segnala al moderatore
Postato alle 20:51
Mercoledì, 05/10/2011
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

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 21:01
Mercoledì, 05/10/2011
adesso non mi ricordo il percorso che prende di default netbeans
cmq inventa qualcosa:)
del tipo

Codice sorgente - presumibilmente Plain Text

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



la usi per le finestre
e poi per esempio

Codice sorgente - presumibilmente Plain Text

  1. 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 il 05/10/2011 alle 21:09
PM Quote
Avatar
thebonni90 (Normal User)
Rookie


Messaggi: 22
Iscritto: 01/01/2011

Segnala al moderatore
Postato alle 21:35
Mercoledì, 05/10/2011
si ho fatto ... sisi è cosi avevo mesos solo uno / e funziona lo stesso
ma ne ho messi due
anche in linux dovrebbe funzionare giusto ?

PM Quote