2016-07-30 9 views
-2

Ich habe alles im Web versucht, um das Icon von jframe in der Eclipse zu setzen, aber ich kann immer noch kein Icon für Jframe in Eclipse setzen. Auch ich habe drei verschiedene Möglichkeiten, dies zu tun. Erklären Sie den Unterschied zwischen diesen Möglichkeiten und sagen Sie mir, wie Sie ein Icon für Jframe in Eclipse, nicht in NetBeans, einstellen können.Wie man das Icon von JFrame in der Eclipse einstellt

EDIT:

import java.io.IOException; 
import javax.imageio.ImageIO; 
import javax.swing.JFrame; 
public class MainClass { 
static JFrame frame= new JFrame(); 
public static void main(String[] args) throws IOException { 
    frame.setTitle("GUI Practice"); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setVisible(true); 
    frame.setBounds(100,100,400,300); 
//Thanks....This works 
    try { 


      frame.setIconImage(ImageIO.read(MainClass.class.getResource("icon.gif"))); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    //But why this does not works 
      //Image img = Toolkit.getDefaultToolkit().getImage("/icon.gif"); 
      //frame.setIconImage(img); 
    } 
} 
+3

(1-) 'Ich habe drei verschiedene Möglichkeiten, dies zu tun. Erklären Sie den Unterschied zwischen diesen Möglichkeiten - wir sind keine Gedankenleser. Wir haben keine Ahnung, was die "3 verschiedenen Wege" sind, von denen Sie sprechen. Veröffentlichen Sie Ihren Code, der anzeigt, was Sie versucht haben. Der Code sollte in Form eines [SSCCE] (http://sscce.org/) veröffentlicht werden. – camickr

+0

Aber bevor Sie tun, wie von @camickr vorgeschlagen. Stellen Sie sicher, dass Sie die Java-Dokumente für jede der drei Methoden lesen. SO ist kein Ersatz für das Lesen der Fine Manual .. –

+0

Ich habe meine Frage mit meinem Code aktualisiert. Kannst du das in den Kommentaren beantworten? – SAIFI369

Antwort

4

einfach es wie folgt tun:

try { 
    frame.setIconImage(ImageIO.read(getClass().getResourceAsStream("/icon.png"))); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

Hinweis: in der das Bild setzen icon classpath

+0

Danke, dass du mich gerettet hast, aber kannst du deinen Code erklären und ich muss getClass nach meinem Klassennamen ändern, weil er mir einen statischen Verweis auf eine nicht statische Funktion gibt. Danke – SAIFI369

+0

@ SAIFI369 Es ist, weil Sie Sache in der Hauptmethode tun, die statisch ist. Also können Sie in diesem Punkt classname.this.getRe ... wie in Ihrem Code (nach der Bearbeitung) verwenden. –

+0

Ok ich habe das, aber können Sie Ihren Code erklären, damit ich verstehen kann, was tatsächlich passiert ??? Und weißt du warum die andere Methode nicht funktioniert ??? – SAIFI369

2

Der einfachste Weg (Bild refference, wenn Sie erklärt bleibt Benötigen Sie es später in Ihrem Programm, könnte sich Ihre Datei auch irgendwo in Ihrem Speicher befinden, unabhängig vom Programm):

Image img = Toolkit.getDefaultToolkit().getImage("path/to/img.png"); 
frame.setIconImage(img); 

Das nächste Mal, wenn Sie eine Frage stellen, seien Sie bitte expliziter über Ihr aktuelles Wissen im Vergleich zu dem, was Sie brauchen. Erfahren Sie mehr über SSCCE.

Viel Glück!

+0

Dies funktioniert nicht für mich, aber können Sie Ihren Code erklären ??? – SAIFI369

+0

Lassen Sie mich wissen, was Ihr Fehler sagt –

+0

Fehler .... Nein, ich bekomme keine Fehler, aber nur das Standard-Java-Symbol erscheint. – SAIFI369

Verwandte Themen