Hallo,
ich möchte mit dieser Klasse eine GUI starten. Ihr seht, dass zuerst nach einer Datei .settings.cfg gesucht wird
Existiert diese Datei noch nicht, soll zuerst über SettingsFrame().java die Datei angelegt werden. Und wenn dieser Thread beendet ist, soll AllinFeeFrame().java über den zweiten Thread allinFeeMain gestartet werden. Das klappt nicht so richtig. Ich hatte gelesen, dass join() gerade wartet, bis der erste Thread beendet ist.
So hat das zur Folge, dass die Datei .settings.cfg noch nicht angelegt wurde, die aber von AllinFeeFrame().java benötigt wird.
Dr StackTrace zeigt folgende Meldungen:
Wie kann ich das lösen, so dass AllinFeeFrame erst startet, wenn die Daeti angelegt wurde?
Grüße
Sherry
ich möchte mit dieser Klasse eine GUI starten. Ihr seht, dass zuerst nach einer Datei .settings.cfg gesucht wird
Java:
package com.sherry.calculator;
import java.io.File;
import com.sherry.calculator.gui.views.AllinFeeFrame;
import com.sherry.calculator.gui.views.SettingsFrame;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
Thread splashThread = new Thread(new SplashScreen());
Thread settingsMain = new Thread(new SettingsFrame());
splashThread.start();
if (new File(System.getProperties().getProperty("user.home")+File.separator+".settings.cfg").exists()) {
Thread allinFeeMain = new Thread(new AllinFeeFrame());
allinFeeMain.start();
} else {
settingsMain.start();
try {
Thread allinFeeMain = new Thread(new AllinFeeFrame());
allinFeeMain.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
So hat das zur Folge, dass die Datei .settings.cfg noch nicht angelegt wurde, die aber von AllinFeeFrame().java benötigt wird.
Dr StackTrace zeigt folgende Meldungen:
Code:
java.io.FileNotFoundException: /home/sherry/.settings.cfg (Datei oder Verzeichnis nicht gefunden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at com.sherry.calculator.Settings.readSettings(Settings.java:41)
at com.sherry.calculator.gui.views.AllinFeeFrame.<init>(AllinFeeFrame.java:73)
at com.sherry.calculator.Main.main(Main.java:31)
java.io.FileNotFoundException: /home/sherry/.settings.cfg (Datei oder Verzeichnis nicht gefunden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at com.sherry.calculator.Settings.readSettings(Settings.java:41)
at com.sherry.calculator.gui.views.AllinFeeFrame.<init>(AllinFeeFrame.java:74)
at com.sherry.calculator.Main.main(Main.java:31)
java.io.FileNotFoundException: /home/sherry/.settings.cfg (Datei oder Verzeichnis nicht gefunden)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at java.io.FileInputStream.<init>(FileInputStream.java:101)
at com.sherry.calculator.Settings.readSettings(Settings.java:41)
at com.sherry.calculator.gui.views.AllinFeeFrame.<init>(AllinFeeFrame.java:75)
at com.sherry.calculator.Main.main(Main.java:31)
Exception in thread "main" java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1008)
at java.lang.Double.parseDouble(Double.java:540)
at com.sherry.calculator.gui.views.AllinFeeFrame.<init>(AllinFeeFrame.java:75)
at com.sherry.calculator.Main.main(Main.java:31)
Wie kann ich das lösen, so dass AllinFeeFrame erst startet, wenn die Daeti angelegt wurde?
Grüße
Sherry