Итак, я пытаюсь загрузить файл CSV в два комбинированных списка (одно и то же значение в обоих). У меня были проблемы с поиском файла 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;
}
}