0
我已經寫在Java GUI應用程序遞歸搜索方法找到一個驅動器中的文件。 UI響應, 搜索成功發生,但JList的不填充,而控制檯打印成功的文件名,經過3次點擊文件是在JList中添加,但每個文件遞歸searchfile方法點擊
DefaultListModel lm=new DefaultListModel();
public void search(String path){
File root = new File(path);
File[] list=root.listFiles();
if(list==null){
return;
}
for(File f: list){
if(f.isDirectory()){
if(list==null){
return;
}
search(f.getAbsolutePath());
}
else{
if(f.getName().endsWith(".txt") && f.getName().startsWith("abc")){
lm.addElement(f.getName());
System.out.println(f.getName());
found=true;
}
}
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
jList1.setModel(lm);
}
private void searchBtnActionPerformed(java.awt.event.ActionEvent evt) {
//just added this code in my program to resolve unresponsive UI
Thread t=new Thread(new Runnable() {
@Override
public void run() {
search("c:\\");
}
});
t.start();
}
日Thnx ...,它解決了反應遲鈍UI概率LEM但JList的仍然是空的..... –
@ShaheryarBhatti的代碼更新您的問題或創建一個新的答案,在這裏發佈的鏈接作爲註釋 –
http://stackoverflow.com/questions/31010273/jlist-populates -after-3-clicks-on-searchbtn-with-repeatitve-file-names –