2
在我的应用程序中,我希望用户能够在FormA中连续添加歌曲到列表中。然后,FormB将显示添加的歌曲作为标签。将数据传递给其他表单并更新表单
我知道如何创建标签列表,但不幸的是,添加的歌曲不会显示在FormB中。每次添加歌曲时,我都需要一种方式来更新FormB,所以FormB始终是最新的。
这是我已经试过:
public void createPlaylist() {
for (int i = 0; i < songList.getSongList().size(); i++) {
Button temp = new Button(songList.getSongList().get(i).toString());
listCont.add(temp); //add Buttons to the List-Container for every Song in the List
}
centerCont.removeComponent(listCont);
centerCont.removeComponent(bottomCont); //remove Containers to add the updated ones (?)
centerCont.add(listCont).add(bottomCont); //add updated Containers
}
这是不行的,因为它要显示新添加的按钮FormB没有这样做。
我该如何做到这一点?
在FormA中添加歌曲后,您是否按下一个单独的按钮,将您带到FormB以查看FormA中添加的所有歌曲?你尝试在'centerCont.add(listCont).add(bottomCont)'''后面调用'FormB.revalidate()'吗?您在FormA中用于添加歌曲的代码在哪里?你是否确认'songList.getSongList()'不是空的? – Diamond
嗨,在FormA上,我按下一个按钮将歌曲添加到列表中,然后显示FormB,该按钮也调用上面的函数(createPlaylist)。我试图添加重新验证,但我没有改变任何东西。我在控制台中记录列表并输出歌曲,所以列表似乎不是空的。在将listCont添加到表单后,我还需要再次将centerCont添加到表单中吗? –