NoClassDefFound bei JFileChooser

Status
Nicht offen für weitere Antworten.
K

Kaini

Gast
Hi

Ich habe eine kleine Rezepteverwaltung geschrieben, welche auf meinem PC perfekt funtkioniert. Doch am PC meiner Mutter kann ich keine Dateiien speichern/öffnen. In der Konsole kommt immer eine java.lang.NoClassDefFoundError Exception. Dabei ist nur eine Zeile aus meinem Code. (Die nicht eingerückte)
Code:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: Could not initialize class sun.awt.image.ToolkitImage
	at sun.awt.SunToolkit.createImage(SunToolkit.java:902)
	at sun.awt.SunToolkit.createImage(SunToolkit.java:898)
	at java.awt.Toolkit.createImage(Toolkit.java:1090)
	at javax.swing.ImageIcon.<init>(ImageIcon.java:207)
	at sun.swing.ImageIconUIResource.<init>(ImageIconUIResource.java:30)
	at sun.swing.SwingUtilities2$2.createValue(SwingUtilities2.java:1347)
	at javax.swing.UIDefaults.getFromHashtable(UIDefaults.java:199)
	at javax.swing.UIDefaults.get(UIDefaults.java:144)
	at javax.swing.MultiUIDefaults.get(MultiUIDefaults.java:44)
	at javax.swing.UIDefaults.getIcon(UIDefaults.java:431)
	at javax.swing.UIManager.getIcon(UIManager.java:727)
	at com.sun.java.swing.plaf.gtk.GTKFileChooserUI.installIcons(GTKFileChooserUI.java:752)
	at javax.swing.plaf.basic.BasicFileChooserUI.installDefaults(BasicFileChooserUI.java:219)
	at sun.swing.plaf.synth.SynthFileChooserUI.installDefaults(SynthFileChooserUI.java:187)
	at com.sun.java.swing.plaf.gtk.GTKFileChooserUI.installDefaults(GTKFileChooserUI.java:743)
	at javax.swing.plaf.basic.BasicFileChooserUI.installUI(BasicFileChooserUI.java:135)
	at sun.swing.plaf.synth.SynthFileChooserUI.installUI(SynthFileChooserUI.java:122)
	at com.sun.java.swing.plaf.gtk.GTKFileChooserUI.installUI(GTKFileChooserUI.java:464)
	at javax.swing.JComponent.setUI(JComponent.java:673)
	at javax.swing.JFileChooser.updateUI(JFileChooser.java:1762)
	at javax.swing.JFileChooser.setup(JFileChooser.java:360)
	at javax.swing.JFileChooser.<init>(JFileChooser.java:333)
	at javax.swing.JFileChooser.<init>(JFileChooser.java:286)
at control.SaveAction.actionPerformed(SaveAction.java:35)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
	at java.awt.Component.processMouseEvent(Component.java:6038)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
	at java.awt.Component.processEvent(Component.java:5803)
	at java.awt.Container.processEvent(Container.java:2058)
	at java.awt.Component.dispatchEventImpl(Component.java:4410)
	at java.awt.Container.dispatchEventImpl(Container.java:2116)
	at java.awt.Component.dispatchEvent(Component.java:4240)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
	at java.awt.Container.dispatchEventImpl(Container.java:2102)
	at java.awt.Window.dispatchEventImpl(Window.java:2429)
	at java.awt.Component.dispatchEvent(Component.java:4240)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Der Code in dieser Funktion ist
Code:
    public void actionPerformed(ActionEvent e) {
        JFileChooser fc = new JFileChooser(); // <---- Fehler Zeile
        frame.setActive(false);
        int status = fc.showSaveDialog(frame.getFrame());
        if (status == JFileChooser.APPROVE_OPTION)
        {
            try {
                ObjectOutputStream out = new ObjectOutputStream(
                        new BufferedOutputStream(
                        new FileOutputStream(
                        fc.getSelectedFile())));
                out.writeObject(data);
                out.close();
            } catch (IOException ioe) {
                frame.error(lang.getString("ioe"));
                System.out.println(ioe.getMessage());
            }
        }
        frame.setActive(true);
    }

Ich hab gegoogelt aber nichts bracuhbares gefunden. Was kann das Problem sein? Und vor allem: Was kann ich tun um es zu lösen?
 
K

Kaini

Gast
Ok ich konnte jetzt das Programm beenden. (Es waren leider schon einige Rezepte eingegeben und die wollte sie nicht alle verlieren...)
Wenn ich jetzt die Anwendung starte geht alles wunderbar. ???:L Bleibt die Frage offen: Kann sowas wieder passieren und was tu ich dagegen?
 
K

Kaini

Gast
Data ist die Klasse die die Daten hält. (Versuch von MVC)
Eigentlich nichts besonderes.
Code:
public class GerichtList implements Serializable {

    private static final long serialVersionUID = 751676148617825l; 
    private ArrayList<Gericht> gerichte = new ArrayList<Gericht>();

    /**
     * Fügt ein Gericht hinzu.
     * @param g Das Gericht
     */
    public void add(Gericht g) {
        gerichte.add(g);
    }

    /**
     * Löscht ein Gericht aus der Liste.
     * @param index der Index
     */
    public void del(int index) {
        gerichte.remove(index);
    }
    
    /**
     * Liefert das Gerichtes an der Stelle i
     * @param index die Stelle
     * @return das Gerichtes
     */
    public Gericht get(int index) {
        return gerichte.get(index);
    }
    
    /**
     * Liefert die Anzahl aller Elemente in der Liste.
     * @return die Länge
     */
    public int getLenght() {
        return gerichte.size();
    }
    
    /**
     * Löscht alle Elemente aus der Liste.
     */
    public void clear()
    {
        gerichte.clear();
    }
}
 

Wildcard

Top Contributor
Serialisierung ist die einfachste aller Persistierungen. Dabei wird lediglich der Objektbaum stur in eine Datei gequetscht. Höchst unflexibel, und fehleranfällig. Wenn man beispielsweise Observer/Listener verwendet, serialisiert man ungewollt sehr schnell sein ganzes Programm und oft auch irgendwelche Sun Klassen was die Daten auf anderen Rechnern unbrauchbar macht.
In deinem Fall sieht es auf den ersten Blick allerdings ok aus, und scheint jetzt ja auch zu funktionieren...
Bei Gelegenheit schau dir vielleicht mal XML und XML Binding Frameworks, oder auch Datenbanken für die nächste Version an.
 

Kaini

Mitglied
Serialisierung ist die einfachste aller Persistierungen. Dabei wird lediglich der Objektbaum stur in eine Datei gequetscht. Höchst unflexibel, und fehleranfällig. Wenn man beispielsweise Observer/Listener verwendet, serialisiert man ungewollt sehr schnell sein ganzes Programm und oft auch irgendwelche Sun Klassen was die Daten auf anderen Rechnern unbrauchbar macht.
Ja ich werd mich mal einlesen, aber das scheint ja in dem Fall nicht das Problem zu sein.
Keine der drei Klassen GerichtListe, Gericht und Zutat kennt die GUI oder einen Controller. Aber das Serialisierung nicht dauerhaft gut geht ist mir klar.

Der fehler war offensichtlich nur ein Unglücksfall aber schon seltsam ???:L

PS: Endlich hab ich einen Accound!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Tommy135 JFileChooser ist sehr langsam AWT, Swing, JavaFX & SWT 13
T JFileChooser ist Englisch und bleibt Englisch und bleibt Englisch... AWT, Swing, JavaFX & SWT 15
M Swing jFileChooser Header viewTypeDetails setFont AWT, Swing, JavaFX & SWT 0
I JFileChooser mit System L&F bei anderem L&F der eigtl. Anwendung AWT, Swing, JavaFX & SWT 0
Meeresgott AWT JFileChooser bestimmte Ordner anzeigen AWT, Swing, JavaFX & SWT 16
S Swing JFileChooser best. Ordner wie Dateien behandeln AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser für nicht existierendes Unterverzeichnis AWT, Swing, JavaFX & SWT 3
javampir Swing Anzeige der FileFilter im JFileChooser AWT, Swing, JavaFX & SWT 0
L JFileChooser Datentyp Unterscheidung AWT, Swing, JavaFX & SWT 6
K JFileChooser NullPointerException AWT, Swing, JavaFX & SWT 7
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing JFilechooser - Detailansicht AWT, Swing, JavaFX & SWT 0
M JFileChooser Look and Feel AWT, Swing, JavaFX & SWT 2
T JFileChooser Rahmenfarbe ändern AWT, Swing, JavaFX & SWT 1
K Pfad mit JFileChooser ausgeben lassen AWT, Swing, JavaFX & SWT 7
C JFileChooser hängt bei Ausführung mit Terminal AWT, Swing, JavaFX & SWT 2
T Swing JFileChooser und FileView AWT, Swing, JavaFX & SWT 4
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
H Swing JFileChooser inline editing AWT, Swing, JavaFX & SWT 4
D JFileChooser anpassen AWT, Swing, JavaFX & SWT 5
AssELAss Verzeichnis JFileChooser aktualisieren AWT, Swing, JavaFX & SWT 0
A JFileChooser Datei speichern AWT, Swing, JavaFX & SWT 4
A Datei weiterverwenden mit JFileChooser AWT, Swing, JavaFX & SWT 6
T Importer-Auswahl im JFileChooser AWT, Swing, JavaFX & SWT 3
N JFileChooser bzw. FileDialog Problem AWT, Swing, JavaFX & SWT 10
A Swing JFileChooser - Größenänderung nach Aufruf von showOpenDialog() AWT, Swing, JavaFX & SWT 15
D Serverdirectory auf Client browsen mit JFileChooser AWT, Swing, JavaFX & SWT 7
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
C JFileChooser und Netzwerk Laufwerke AWT, Swing, JavaFX & SWT 4
Iron Monkey JFileChooser - Drag and Drop AWT, Swing, JavaFX & SWT 5
J JFileChooser - Datei speichern AWT, Swing, JavaFX & SWT 7
M Element aus JList eines JFileChooser entfernen AWT, Swing, JavaFX & SWT 3
P JFileChooser mit verschidene Endungen AWT, Swing, JavaFX & SWT 12
S Swing Ordner im JFileChooser auswählen AWT, Swing, JavaFX & SWT 2
C JFileChooser bringt parent durcheinander AWT, Swing, JavaFX & SWT 2
N JFileChooser mit Dateinamenvorgabe AWT, Swing, JavaFX & SWT 9
S JFileChooser GTK (Ubuntu) "hässlich" AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser mit modifiziertem Kontextmenü AWT, Swing, JavaFX & SWT 4
S JFileChooser öffnet den falschen Ordner AWT, Swing, JavaFX & SWT 4
A Swing JFilechooser zeigt verzeichnisse nicht an AWT, Swing, JavaFX & SWT 2
A Swing JFileChooser - Anzeige in Echtzeit filtern AWT, Swing, JavaFX & SWT 10
M JFileChooser umbenennen verbieten AWT, Swing, JavaFX & SWT 4
Helgon JFileChooser öffnet sich 2x AWT, Swing, JavaFX & SWT 12
K JFileChooser mit Zusatzfunktionen AWT, Swing, JavaFX & SWT 8
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
V JFileChooser auf Mac und Netzwerkordner AWT, Swing, JavaFX & SWT 2
B JFileChooser breite der Spalten? AWT, Swing, JavaFX & SWT 5
M JFileChooser setCurrentDirectory() - Verzeichnis relativ zum Code/binary AWT, Swing, JavaFX & SWT 14
P Swing Dateinamen im JFileChooser vorschlagen AWT, Swing, JavaFX & SWT 11
M JFileChooser Abfangen des DateiTypen möglich?? AWT, Swing, JavaFX & SWT 5
T Swing JFileChooser --> Desktop und Laufwerke im "Suchen in" - Drop Down AWT, Swing, JavaFX & SWT 3
N JFileChooser - Keine Funtkion AWT, Swing, JavaFX & SWT 13
T JFileChooser - "Öffnen-Button" aktivieren/deaktivieren möglich??? AWT, Swing, JavaFX & SWT 2
jueki Aktuell eingestellten Filter aus einem JFileChooser abfragen. AWT, Swing, JavaFX & SWT 5
F Swing JFileChooser - Dateinamen nicht editierbar machen AWT, Swing, JavaFX & SWT 8
I Fehler bei JFileChooser AWT, Swing, JavaFX & SWT 2
K JFileChooser mehrere Dateien markieren ohne STRG AWT, Swing, JavaFX & SWT 4
Ivan Dolvich [Linux] JFileChooser sieht komisch aus... AWT, Swing, JavaFX & SWT 12
M Zurück-Button in JFileChooser AWT, Swing, JavaFX & SWT 9
N JFileChooser AWT, Swing, JavaFX & SWT 4
D Problem mit JFileChooser -> Daten werden mit anführungsstriche in JTable geschrieben AWT, Swing, JavaFX & SWT 8
S JFileChooser Dateiname Autovervollständigung AWT, Swing, JavaFX & SWT 2
B JDialog über JFileChooser anzeigen AWT, Swing, JavaFX & SWT 6
I Swing JFileChooser '\' im Pfad... AWT, Swing, JavaFX & SWT 2
K Swing JFileChooser zum Speichern - FileFilter AWT, Swing, JavaFX & SWT 2
M Swing Execption beim JFileChooser AWT, Swing, JavaFX & SWT 4
kodela Swing JFileChooser und die Datei-Extension AWT, Swing, JavaFX & SWT 3
jueki eigenen Button in JFileChooser einfügen AWT, Swing, JavaFX & SWT 7
alderwaran jFileChooser showSaveDialog, dateinamen werden mit pfadnamen überschrieben beim navigieren AWT, Swing, JavaFX & SWT 1
B Swing Suche JFileChooser zum Speichern AWT, Swing, JavaFX & SWT 2
Iron Monkey JFileChooser DIRECTORIES_ONLY AWT, Swing, JavaFX & SWT 4
Semox Swing JFileChooser: Problem Approve oder Cancel abzufangen AWT, Swing, JavaFX & SWT 7
H JTree - nach Auswahl aus JFileChooser wird nur der erste Knoten angezeigt AWT, Swing, JavaFX & SWT 3
kodela Sicherheitsabfrage mit JFileChooser AWT, Swing, JavaFX & SWT 2
DARK_ZERATO2 jFileChooser AWT, Swing, JavaFX & SWT 4
G JFileChooser Problem AWT, Swing, JavaFX & SWT 4
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
P JFileChooser AWT, Swing, JavaFX & SWT 2
M Swing JFileChooser und JFrame AWT, Swing, JavaFX & SWT 5
G Swing JFileChooser in einem JPanel? AWT, Swing, JavaFX & SWT 3
J JFileChooser Dateiauswahl beim Tippen einschränken AWT, Swing, JavaFX & SWT 3
M Swing JFileChooser mit Windows 7 AWT, Swing, JavaFX & SWT 8
R JFileChooser - Initiales Verzeichnis auswählen AWT, Swing, JavaFX & SWT 8
brainray JFileChooser - es sollen nur Ordner wählbar sein AWT, Swing, JavaFX & SWT 2
T JFileChooser Problem AWT, Swing, JavaFX & SWT 3
N Mit JFileChooser ein Verzeichnis auswählen AWT, Swing, JavaFX & SWT 7
M Swing JFileChooser und versteckte Ordner AWT, Swing, JavaFX & SWT 2
F jFileChooser verwenden AWT, Swing, JavaFX & SWT 4
M Swing ImageIcon über JFileChooser einbinden AWT, Swing, JavaFX & SWT 4
F JFileChooser mal wieder AWT, Swing, JavaFX & SWT 2
ARadauer Swing JFileChooser mit Bildvorschau AWT, Swing, JavaFX & SWT 5
H Swing Dateiauswahldialog mit JFileChooser funktioniert unzuverlässig AWT, Swing, JavaFX & SWT 11
G Swing JFileChooser nur in Verzeichnis+Unterverzeichnisse AWT, Swing, JavaFX & SWT 5
K Swing JFileChooser AWT, Swing, JavaFX & SWT 6
M JFileChooser einschränken AWT, Swing, JavaFX & SWT 3
L JFileChooser braucht lang zum öffnen AWT, Swing, JavaFX & SWT 2
S NullPointerException bei JFileChooser AWT, Swing, JavaFX & SWT 8
M JFilechooser defaultdirectory AWT, Swing, JavaFX & SWT 5
C JFilechooser this.setAlwaysOnTop AWT, Swing, JavaFX & SWT 2
G JFileChooser - erkennen v. existierenden Dateien ohne Endung AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben