Я создаю музыкальный плеер, в котором есть таблица, показывающая песни из папки (например, список воспроизведения). Моя проблема в том, что добавленная следующая строка имеет тот же результат (имя), что и предыдущий.Java: File [] to JTable
В моей папке "следы" есть track1, Track2, дорожка 3. Если я использую:
File tracksFolder = new File("tracks");
final File[] tracks = tracksFolder.listFiles();
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
Vector<Object> row = new Vector<Object>();
for (int i = 0; i < tracks.length; i++) {
System.out.println(tracks[i]);
row.add(tracks[i].toString());
data.add(row);
}
Vector<String> headers = new Vector<String>();
headers.add("Song");
final JTable table = new JTable(data, headers);
// some more code
Он возвращается в консоли:
tracks/track 1.wav
tracks/track 2.mp3
tracks/track 3.flac
но мой стол:
tracks/track 1.wav
tracks/track 1.wav
tracks/track 1.wav
Самое странное, что он работает на моей консоли!
сделать отладчик ваш друг. Посмотрите, сколько файлов вы можете увидеть trackFolder.listFiles() возвращается? –
Я не совсем уверен, что вы имеете в виду, но я поставил: System.out.println (tracksFolder.listFiles(). ToString()); и это дало мне [Ljava.io.File; @ d8f459, который является только одной строкой. –
Отладка позволяет вам пройти пошаговую оценку вашего кода. Если вы используете eclipse, нажмите [здесь] (http://www.vogella.com/tutorials/EclipseDebugging/article.html) –