2016-04-11 3 views
0

タブをクリックするたびに、listOfFilesのリストがリロードされ、リストの各項目のタブにボタンが追加されます。どうすればタブをクリックするたびに同じボタンを追加し続けることができますか?注:各クリック間でリストを変更することができます。Java:アイテムがUIに重複として追加されないようにする

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(); 
    } 
} 

いただきました(2回クリックした後、例えば)起こっ:

(ボタン)荷重:MyFileの

(ボタン)荷重:MyFile2

(ボタン)荷重:MyFileの

(ボタン)読み込み:MyFile2

私は(クリック、任意の数の後に)欲しい

(ボタン)負荷:MyFileの

(ボタン)負荷:MyFile2

+1

ファイルリストを再読み込みする前にリストを消去しましたか? – MadProgrammer

答えて

1

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(); 
0

ストアあなたのFileSet内の参照ではなくListかアレイ。

関連する問題