AWT ProgrammIcon

NochNixBlicker

Bekanntes Mitglied
Also irgendwann hat man die Nase voll von try&error!

Java:
  public static void main(String[] args) {
     EventQueue.invokeLater(new Runnable() {
       public void run() {
         try {
           GIzEH window = new GIzEH();
           frmGizeh.setVisible(true);
           frmGizeh.setIconImage(createImage("/res/GIzEH.ico").getImage());
           // ClassLoader cl = this.getClass().getClassLoader();
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
     });
   }

   public ImageIcon createImage(String path) {
     return new ImageIcon(java.awt.Toolkit.getDefaultToolkit().getClass().getResource(path));
   }
 

NochNixBlicker

Bekanntes Mitglied
Hier: sorry

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static method createImage(String) from the type GIzEH

at GIzEH$1.run(GIzEH.java:25)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Und habe beides versucht, vergaß ich zu erwähnen

@InfectedBytes sorry, dass ich behindert bin! Löst dass immer Fehler aus, wenn der Codierer behindert ist?
 

Flown

Administrator
Mitarbeiter
Cannot make a static reference to the non-static method createImage(String)
Sagt dir, dass du aus einem statischen Kontext keinen Instanzkontext aufrufen kannst. Heißt: Du brauchst erst eine Instanz um auf createImage(...) zugreifen zu können, ODER du machst die Methode auch statisch.
 

NochNixBlicker

Bekanntes Mitglied
Habe weitergeschaut

Java:
public static void main(String[] args) {
     EventQueue.invokeLater(new Runnable() {
       public void run() {
         try {
           GIzEH window = new GIzEH();
           frmGizeh.setVisible(true);
           frmGizeh.setIconImage(createImage("/res/GIzEH.ico").getImage());
           // ClassLoader cl = this.getClass().getClassLoader();
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
     });
   }

und jetzt passiert das:

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static method createImage(String) from the type GIzEH

at GIzEH$1.run(GIzEH.java:25)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)


aber run() ist nicht statisch, was mach ich jetzt? Könntest du mir bitte die richtigen Zeilen eincoden?
 

Joose

Top Contributor
Deine Methode createImage ist Teil einer Klasse. Von dieser Klasse brauchst du ein Objekt um die Methode aufrufen zu können.
Laut Fehlermeldung ist die Methode anscheinend Teil der Klasse "GIzEH". Von dieser Klasse hast du ja ein Objekt "window" warum verwendest du dieses nicht?
 

NochNixBlicker

Bekanntes Mitglied
Wieder nüschd - habe in der Fehlerhaften Zeile jetzt codiert:

Java:
window.frmGizeh.setIconImage(createImage("/res/GIzEH.ico").getImage());
Aber er meint immer noch:

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Cannot make a static reference to the non-static method createImage(String) from the type GIzEH

at GIzEH$1.run(GIzEH.java:25)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

JCODA

Top Contributor
Es geht ja auch, wie die Fehlermeldung schon zeigt, um die Methode createImage...
versuch mal
Java:
frmGizeh.setIconImage(window.createImage("/res/GIzEH.ico").getImage());
 

NochNixBlicker

Bekanntes Mitglied
Leider

Java:
java.lang.NullPointerException
   at javax.swing.ImageIcon.<init>(Unknown Source)
   at GIzEH.createImage(GIzEH.java:37)
   at GIzEH$1.run(GIzEH.java:26)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$500(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.awt.EventQueue$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
 

JCODA

Top Contributor
Da du innerhalb createImage, getDefaultToolkit().getClass().getResource benutzt, musst du wohl zuerst eine Ebene höher gehen. (Oder so viele Ebenen, bis du bei /res... bist)
Es ist egal wie der Ordner heißt, so lange du in Java den richtigen angibst.
Versuch mal
Java:
frmGizeh.setIconImage(window.createImage("/../res/GIzEH.ico").getImage());
 

NochNixBlicker

Bekanntes Mitglied
Habe ich probliert aber ich kann auch folgendes
Java:
  public static void main(String[] args) {
     EventQueue.invokeLater(new Runnable() {
       public void run() {
         try {
           GIzEH window = new GIzEH();
           frmGizeh.setVisible(true);
           new ImageIcon();
           frmGizeh.setIconImage(window.createImage("GIzEH/src/res/GIzEH.ico").getImage());
           // ClassLoader cl = this.getClass().getClassLoader();
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
     });
   }

   public ImageIcon createImage(String path) {
     return new ImageIcon(java.awt.Toolkit.getDefaultToolkit().getClass().getResource("/res/GIzEH.ico"));
   }
...

probieren, leider passiert nichts. Habe ich sonst irgend einen Fehler?
 

Meniskusschaden

Top Contributor
Warum übergibst du der Methode createImage() eigentlich einen Pfad, den du dort gar nicht benutzt? Da wird ja nur ein hart kodierter Pfad verwendet, so dass egal ist, was du übergibst.
Vielleicht bringt es dich ja weiter, wenn du dir mit folgender Anweisung einmal ausgeben lässt, wo dein root-Ordner liegt. Möglicherweise befindet sich dein res-Ordner bezogen auf den root-Ordner nicht an der Stelle, an der du ihn vermutest.
Java:
System.out.println(Toolkit.getDefaultToolkit().getClass().getResource("/"));
 

NochNixBlicker

Bekanntes Mitglied
habe jetzt kodiert:
Java:
  public static void main(String[] args) {
     EventQueue.invokeLater(new Runnable() {
       public void run() {
         try {
           GIzEH window = new GIzEH();
           frmGizeh.setVisible(true);
           new ImageIcon();
           frmGizeh.setIconImage(window.createImage("C:/Users/Erik/workspace/GIzEH/bin/res/GIzEH.ico").getImage());
           System.out.println(Toolkit.getDefaultToolkit().getClass().getResource("/"));
           // ClassLoader cl = this.getClass().getClassLoader();
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
     });
   }

   public ImageIcon createImage(String path) {
     return new ImageIcon(java.awt.Toolkit.getDefaultToolkit().getClass().getResource("C:\Users\Erik\workspace\GIzEH\bin\res\GIzEH.ico"));
   }

Also ich will gleich sagen, ich habe beides probiert: Slash und Backslash

Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ )

at GIzEH.createImage(GIzEH.java:37)
at GIzEH$1.run(GIzEH.java:26)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

JCODA

Top Contributor
Verwende doppelte Backslashes.

Java:
public static void main(String[] args) {
     EventQueue.invokeLater(new Runnable() {
       public void run() {
         try {
           GIzEH window = new GIzEH();
           frmGizeh.setVisible(true);
           new ImageIcon();
           frmGizeh.setIconImage(window.createImage("C:\\Users\\Erik\\workspace\\GIzEH\\bin\\res\\GIzEH.ico"));
           System.out.println(Toolkit.getDefaultToolkit().getClass().getResource("/"));
           // ClassLoader cl = this.getClass().getClassLoader();
         } catch (Exception e) {
           e.printStackTrace();
         }
       }
     });
   }

   public ImageIcon createImage(String path) {
     return new ImageIcon(java.awt.Toolkit.getDefaultToolkit().getClass().getResource(path));
   }
 

NochNixBlicker

Bekanntes Mitglied
Hm nun passiert das:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The method setIconImage(Image) in the type JFrame is not applicable for the arguments (ImageIcon)
Syntax error, insert ")" to complete Expression

at GIzEH.main(GIzEH.java:26)
 

NochNixBlicker

Bekanntes Mitglied
Habe jetzt die Klammer vor dem Semikolon zweimal geschlossen, aber:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
The method setIconImage(Image) in the type JFrame is not applicable for the arguments (ImageIcon)

at GIzEH$1.run(GIzEH.java:26)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

NochNixBlicker

Bekanntes Mitglied
Sorry musste mein Gehirn erst anschalten. Haber dann codiert:

Java:
    frmGizeh.setIconImage(window.createImage("C:\\Users\\Erik\\workspace\\GIzEH\\bin\\res\\GIzEH.ico"));
    frmGizeh.getIconImage();

Fehlermeldung:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
The method setIconImage(Image) in the type JFrame is not applicable for the arguments (ImageIcon)

at GIzEH$1.run(GIzEH.java:26)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

Meniskusschaden

Top Contributor
Ich glaube, @JCODA hat es eher so gemeint:
Java:
Gizeh.setIconImage(window.createImage("C:\\Users\\Erik\\workspace\\GIzEH\\bin\\res\\GIzEH.ico").getImage());
 

Nuiton

Bekanntes Mitglied
Ich glaube das wird auch noch ein paar Seiten weitergehen, weshalb ich nochmal fragen muss: Warum .ico-Dateien? Keiner benutzt .ico-Dateien, weil sie auch (nativ) von Java nicht unterstuetzt werden.

Das einzige was du brauchst, ist ein Pfad zu deiner Datei (nicht .ico, sondern .png z.B.) und ein ImageIcon-Object, siehe hier.
 

NochNixBlicker

Bekanntes Mitglied
Habe jetzt ein *.png draus gemacht, und den Code von Meniskusschaden übernommen.
Java:
public class GIzEH implements ActionListener {

   public JFrame frmGizeh;

   /**
    * Launch the application.
    */
   public void main(String[] args) {
    EventQueue.invokeLater(new Runnable() {
    public void run() {
    try {
    GIzEH window = new GIzEH();
    frmGizeh.setVisible(true);
    new ImageIcon();
//    ImageIcon img = new ImageIcon("C:\\Users\\Erik\\workspace\\GIzEH\\bin\\res\\GIzEH.png");
//    JFrame.setIconImage(img.getImage());
    GIzEH.setIconImage(window.createImage("C:\\Users\\Erik\\workspace\\GIzEH\\bin\\res\\GIzEH.png").getImage());
    frmGizeh.getIconImage();
    // ClassLoader cl = this.getClass().getClassLoader();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    });
    }
Aber das Ergebnis ist jetzt, dass das setIconImage rot unterkringelt ist mit dem Hinweis:The method setIconImage(Image) is undefined for the type GIzEH
Und die Konsole meint:
Fehler: Hauptmethode ist nicht static in Klasse GIzEH. Definieren Sie die Hauptmethode als:
public static void main(String[] args)

Aber wenn ich die mainMethode statisch mach, dann:
Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problems:
Cannot make a static reference to the non-static field frmGizeh
The method setIconImage(Image) is undefined for the type GIzEH
Cannot make a static reference to the non-static field frmGizeh

at GIzEH$1.run(GIzEH.java:21)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

thecain

Top Contributor
Du hast ganz andere Probleme als das das Icon nicht geht. Dir fehlen viele Grundlagen. Ich empfehle dir sehr, diese nochmal anzuschauen
 

Nuiton

Bekanntes Mitglied
Dieser Code funktioniert fuer mich:
Java:
import java.awt.EventQueue;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class GIzEH extends JFrame {

   public static JFrame frmGizeh;

   /**
    * Launch the application.
     * @param args
    */
   public GIzEH()
   {
       init();
   }

   private void init()
   {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        pack();
   }

   public static void main(String[] args)
   {    
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                frmGizeh = new JFrame();
                frmGizeh.setVisible(true);

                try {
                    ImageIcon img = new ImageIcon("C:\\Users\\Nutzer\\Desktop\\icon.png");
                    frmGizeh.setIconImage(img.getImage());
                } catch (Exception e) {
                e.printStackTrace();
                }
            }
        });
    }
}
 
Zuletzt bearbeitet von einem Moderator:

Flown

Administrator
Mitarbeiter
Versuchs doch bitte mal mit einem kleineren Beispiel, ohne großartig ActionListener etc. zu verwenden.
Mit sowas hier kann man ruhig starten:
Java:
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;

public class Test {
  public static void main(String... args) {
    SwingUtilities.invokeLater(new Runnable() {
      @Override
      public void run() {
        new Test();
      }
    });
  }
  
  public Test() {
    JFrame frame = new JFrame("Icon");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocationByPlatform(true);
    frame.setIconImage(loadImageIcon("/images/icon.png"));
    
    frame.setSize(600, 400);
    frame.setVisible(true);
  }
  
  private Image loadImageIcon(String path) {
    return new ImageIcon(path).getImage();
  }
}
Dein Pfad muss noch angepasst werden.
 

NochNixBlicker

Bekanntes Mitglied
Sorry Flown, das "Test"-Fenster öffnet sich zwar, aber ich habe immer noch das Standardicon. Selbst wenn ich den WindowBuilder bemühe, klappst nicht, auch dann nicht wenn ich speichere, schließe und wieder das Eclipse starte.
 

Meniskusschaden

Top Contributor
Aber das Ergebnis ist jetzt, dass das setIconImage rot unterkringelt ist mit dem Hinweis:The method setIconImage(Image) is undefined for the type GIzEH
setIconImage() ist eine Methode, die für frmGizeh, aber nicht für GIzEH aufgerufen werden kann. Ist in meinem Posting #28 auch nicht korrekt. Da war ich wohl zu weit nach rechts gescrollt, so dass ich beim Kopieren das frm ausgelassen habe.:(
 

NochNixBlicker

Bekanntes Mitglied
@Flown doppelt und dreifach Kontrolliert
Aber ich lass es jetzt frustriert bleiben, weil ich blick nicht mehr welcher Post gehört zu welchem Code und andersherum!
Aber danke trotz allem für die Arbeit und das Engagement!
 

Nuiton

Bekanntes Mitglied
@Flown Dein Beispiel funktioniert bei mir auch nicht, siehe Screenshot.

@NochNixBlicker Versuche doch mal den ganzen Pfad einzugeben, bzw. etwas wie
Java:
ImageIcon img =newImageIcon("C:\\Users\\Nutzer\\Desktop\\icon.png");
Oder nimm dir mein Beispiel:
Java:
import java.awt.EventQueue;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class GIzEH extends JFrame {

   public static JFrame frmGizeh;

   /**
    * Launch the application.
     * @param args
    */
   public GIzEH()
   {
       init();
   }

   private void init()
   {
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        pack();
   }

   public static void main(String[] args)
   {
        EventQueue.invokeLater(new Runnable()
        {
            public void run()
            {
                frmGizeh = new JFrame();
                frmGizeh.setVisible(true);

                try {
                    ImageIcon img = new ImageIcon("C:\\Users\\Nutzer\\Desktop\\icon.png");
                    frmGizeh.setIconImage(img.getImage());
                } catch (Exception e) {
                e.printStackTrace();
                }
            }
        });
    }
}

Funktioniert uebrigens auch mit
Java:
ImageIcon img = new ImageIcon(getClass().getResource("/res/icon.png"));
Wenn das Icon in der Projektmappe zu finden ist.
 
Zuletzt bearbeitet:

NochNixBlicker

Bekanntes Mitglied
Leute bitte entschuldigt, mit fiel gerade eben (leider EINE der Unfallfolgen) ein, dass manche Grafikprogramme das Icon anzeigen konnten, aber andere meinten es sei irgedwie defekt. Hat mir jemand nen Link wo ich das checken kann?
Aber das Komische ist, der Windowbuilder, der ja in Java ist, kann es anzeigen.
@Nuiton Schon probiert
 

NochNixBlicker

Bekanntes Mitglied
Vorführ-Effekt:
Jetzt gehts ohne Probleme auf, sowohl ico als auch png. Aber anzeigen geht immer noch nicht? Ich glaube ich lasse es frustriert stecken und warte auf den Chef von nem JUnternehmen, der das für mich schreiben will.
 

Meniskusschaden

Top Contributor
Bei mir funktioniert das Beispiel von @Flown perfekt. Wie er bereits geschrieben hat, muß man aber auf den Pfad achten. Der ist in seinem Codebeispiel und in seinem Screenshot nicht identisch, also muß man da etwas aufpassen. Vielleicht verhalten sich verschiedene IDEs auch unterschiedlich, so daß man sich vergewissern sollte, wie es bei der eigenen läuft.
 

Meniskusschaden

Top Contributor
Ich würde mir mal beispielsweise mit folgendem Code das aktuelle Verzeichnis ausgeben lassen:
Java:
File file = new File("");
System.out.println(file.getAbsolutePath());
Ich vermute, das beim Beispiel von @Nuiton (Netbeans) noch "src/" vor den Pfad gesetzt werden muß.
 

Nuiton

Bekanntes Mitglied
Mit "src/" ging's dann auch.
Java:
frame.setIconImage(loadImageIcon("src/res/icon.png"));
 

Neue Themen


Oben