无法将CSV文件加载到组合框

时间:2019-03-22 16:26:08

标签: java javafx

因此,我尝试将CS​​V文件加载到两个组合框中(两者均具有相同的值)。我在找到csv文件时遇到问题,但是在那儿发现了问题。遍历了相同的代码,但是看不到为什么它不运行。我没有收到任何错误,一切都启动了,但是我无法从csv文件中获取值放在组合框中。有人知道我在做什么错吗?

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception{
    Parent root = FXMLLoader.load(getClass().getResource("view/gui.fxml"));
    primaryStage.setTitle("Valutakalkulator");
    primaryStage.setScene(new Scene(root, 600, 450));
    primaryStage.show();
}

public static void main(String[] args) {
    launch(args);
}
}


public class Controller {
@FXML
private ComboBox<Valuta> listeMedValutaer;

@FXML
public void initialize() {
    listeMedValutaer.setItems(DataHandler.hentValutaData());
}
}


public class DataHandler {
private final static ObservableList<Valuta> valutaListe = FXCollections.observableArrayList();

public static ObservableList<Valuta> hentValutaData() {
    if (valutaListe.isEmpty()) {
        genererFilmData();
    }
    return valutaListe;
}

private static ArrayList<Valuta> genererFilmData() {
    File kilden = new File("src/no/hiof/aleksar/oblig5/data/valutakurser.csv");

    ArrayList<Valuta> valutaerFraFiler = lesFraCSVFil(kilden);

    return valutaerFraFiler;
}

private static ArrayList<Valuta> lesFraCSVFil(File filSomLesesFra) {
    ArrayList<Valuta> valutaerFraFil = new ArrayList<>();
    try (BufferedReader bufretLeser = new BufferedReader(new FileReader(filSomLesesFra))) {
        String linje;
        while( (linje = bufretLeser.readLine()) != null ){
            String[] deler = linje.split(";");

            Valuta enValuta = new Valuta(deler[0], deler[1], deler[2], Double.parseDouble(deler[3]));

            valutaerFraFil.add(enValuta);
        }

    } catch (IOException e) {
        System.out.println(e);
    }

    return valutaerFraFil;
}
}

0 个答案:

没有答案