Wenn das Prog direkt in Netbeans ausgeführt wird, klappts! Erstellt man jedoch mit „Rechte Maustaste aufs Projekt > Clean and Build“ eine jar Datei und versucht diese auszuführen, passiert gar nichts. Auch in der Kommandozeile mit java -jar prog.jar kommt keine Fehlermeldung und gar nichts
Das kann man alles klären, wenn im catch-Block die geworfene Exception nicht verschluckt wird.
Das ist aber aus dem Code des TO leider nicht und im Code von @IDC falsch gemacht worden.
[quote=L-ectron-X]Das kann man alles klären, wenn im catch-Block die geworfene Exception nicht verschluckt wird.
Das ist aber aus dem Code des TO leider nicht und im Code von @IDC falsch gemacht worden.[/quote]
hmm - wir brauchen unter dem Usernamen noch eine Messlatte für „Ernsthafte Verfehlungen am Quellcode“
Gutes Forum! Hat leider noch nicht geklappt. Versucht wurde:
Extra ein nur dafür neues frisches Projekt angelegt und alles auf Standard gelassen(hoffe das ist erstmal okay Namen sind vielleicht etwas unpassend) Schritt 1: File > New Project > Java > Java Application > Project Name: JavaApplication10(Häckchen bei Create Main Class war aktiviert) > Finish
Schritt 2: File New File > Swing GUI Forms > JFrame Form > Class Name: NewJFrame > Finish
Schritt 3: icon.png mit Drag & Drop in Netbeans Paket javaapplication10 ziehen(damit wurde icon.png wohl automatisch auch gleichzeitig in den Ordner /…/NetBeansProjects/JavaApplication10/src/javaapplication10/icon.png kopiert
Schritt 3: Code von IDC ausprobieren (sorry komme mit der Formatierung nicht klar)
Java Code:
[ol]
[li]package javaapplication10;[/li][li]import java.awt.image.BufferedImage;[/li][li]import java.io.IOException;[/li][li]import javax.imageio.ImageIO;[/li][li]/[/li][li]* * To change this license header, choose License Headers in Project Properties.[/li][li] * To change this template file, choose Tools | Templates**[/li][li]** * and open the template in the editor.[/li][li]/**[/li][li]/[/li][li]* [/li][li] * @author author***[/li][li]**** /[/li][li]publicclass NewJFrame extends javax.swing.JFrame {[/li][li] **** /[/li][li]* * Creates new form NewJFrame****[/li][li]**** /***[/li][li] ** public** NewJFrame() {[/li][li] initComponents();[/li][li] ** try** {[/li][li] BufferedImage image = ImageIO.read(getClass().getResource(„icon.png“))[/li][li] // Pfad „/javaapplication10/icon.png“ auch probiert [/li][li] setIconImage(image);[/li][li] } catch (IOException e) {[/li][li] e.printStackTrace();[/li][li] }[/li][li] }[/li][li] …[/li][li]}[/li][/ol]
Bist du dir sicher dass die jar das Bild enthaelt?
Schritt 4: Nachdem die jar Datei erstellt wurde (BUILD SUCCESSFUL (total time: 0 seconds)) (JavaApplication10.jar) mal reingeschaut. 2 Ordner enthalten: javaapplication10 und META-INF, der erste Ordner wiederum enthält icon.png, JavaApplication10.class, NewJFrame.class,NewJFrame$1.classn :ka:
Das Frame heißt “this” und das darf man weglassen… Du erbst schon vom Frame, was man aus mir unbekannten Gründen nur in Ausnahmefällen machen sollte, deswegen musst du das nicht dazu schreiben!
Teste gerade mal deinen Code:
Da fehlt ein Semikolon am Ende der BufferedImage Zeile…
Und (nach einem bei dir wohl hoffentlich in initComponents() vorhandenen) setVisible(true); funktioniert alles!
NetBeans… Design Ansicht, Properties von deinem Frame, so ziemlich in der Mitte steht “IconImage” und da CustomCode ->
setIconImage(new ImageIcon(getClass().getResource("/path/to/picture.png")).getImage());```
Und da wir die Frage schonmal hatten, mal gleich die Folgefrage beantworten (falls sie mal kommen sollte): die Pfadangabe fängt im /src Verzeichnis deines Projektes an, also z.B.
/home/LOGIN/benutzername/projekte/MeinProjekt/src[U]/path/to/picture.png[/U]
Danke an alle Problem gelöst, wens interessiert, es war alles richtig soweit was hier geschrieben wurde, nur war in den Projekteigenschaften unter ‘Run’ die falsche main class ausgewählt, deshalb passierte auch nichts ^^