JavaFX - 将Song对象字段从文本文件加载到Songs的ArrayList中

时间:2016-02-08 22:05:19

标签: java arraylist

我正在尝试使用文本文件中的歌曲填充Song对象的ArrayList。我遇到了很多问题,我很困惑。有人可以帮我吗?这是我的populateList方法的代码

public ArrayList<design.Song> populateList() throws FileNotFoundException{

        ArrayList<Song> songList = new ArrayList<>();

        Scanner sc = new Scanner(new File("/application/songs.txt"));



        while(sc.hasNext()){
            Song song1 = new Song(sc.nextLine(), sc.nextLine(), sc.nextLine(), Integer.parseInt(sc.nextLine()));
            songList.add(song1);
        }

        return songList;
    }

这是我的控制器:

package design;

import application.Main;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Scanner;
import javafx.collections.FXCollections;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.ListView;

public class Controller implements Initializable {

    @FXML private ListView<Song> listViewofSongs;
    List<Song> songArray = Main.populateList();



    @Override
    public void initialize(URL url, ResourceBundle rb) {
            listViewofSongs.setItems(FXCollections.observableList(songArray));
     }




    public void addSong(Song song){
        songArray.add(song);
    }
}

1 个答案:

答案 0 :(得分:0)

我遇到的问题与我试图直接在Controller类中实现代码的事实有关。我需要在JavaFX控制器的某种方法中实现所有代码。