每次我单击选项卡 tab3
时,它都会重新加载列表 listOfFiles
,然后为列表中的每个项目添加一个按钮到选项卡。如何让它在每次单击选项卡时不再继续添加相同的按钮?注意:列表可能会在每次点击之间修改。
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
JButton btnTemp2 = new JButton("Load: " + listOfFiles[i].getName());
tab3.add(btnTemp2);
tab3.revalidate();
}
}
发生了什么(例如,点击两次后):
(按钮)加载:我的文件
(按钮)加载:MyFile2
(按钮)加载:我的文件
(按钮)加载:MyFile2
我想要什么(任意多次点击后):
(按钮)加载:我的文件
(按钮)加载:MyFile2
最佳答案
您可以使用 tab3.removeAll()
方法删除所有元素。因此,每次点击后,首先调用此方法,然后添加按钮。
tab3.removeAll();
for (int i = 0; i < listOfFiles.length; i++) {
if (listOfFiles[i].isFile()) {
JButton btnTemp2 = new JButton("Load: " + listOfFiles[i].getName());
tab3.add(btnTemp2);
}
}
tab3.revalidate();
关于Java:防止项目作为重复项添加到 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36559326/