因此,我尝试将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;
}
}