gpt4 book ai didi

Java:文件[]到JTable

转载 作者:行者123 更新时间:2023-12-01 23:18:01 27 4
gpt4 key购买 nike

我正在创建一个音乐播放器,其中有一个表格显示文件夹中的歌曲(如播放列表)。我的问题是添加的下一行与上一行具有相同的结果(名称)。

在我的“轨道”文件夹中,有轨道 1、轨道 2、轨道 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

但是我的 table :

tracks/track 1.wav
tracks/track 1.wav
tracks/track 1.wav

最奇怪的是它在我的控制台中工作!

最佳答案

您重复使用您的row每行的 vector 对象。您只需将条目添加到已经存在的行中;渲染器显然显示了 row 的第一个条目 vector 。

解决方案:移动行Vector<Object> row = new Vector<Object>();的创建在循环内为每一行创建一个新的。

或者更好的是,阅读表模型并使用合适的模型。事实上,一旦您了解了基础知识,工作量就会少得多。

关于Java:文件[]到JTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20941185/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com