每次单击选项卡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();
}
}
发生了什么(例如,单击两次后):
(按钮)加载:MyFile
(按钮)加载:MyFile2
(按钮)加载:MyFile
(按钮)加载:MyFile2
我想要什么(点击任意次数后):
(按钮)加载:MyFile
(按钮)加载: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();