簡體   English   中英

自動完成無法正確加載數據

[英]Autocomplete does not load data correctly

我對以下代碼有疑問,如果過濾后的數據出現在我面前,但它只在 jframe 啟動時對其進行過濾,而不是在我添加新的時過濾它,我必須關閉 jframe 並重新打開它以便它識別數據。 我把數據放在.txt

String barrapro = File.separator;
String ubicacionpro = System.getProperty("user.dir")+barra+"Procesador"+barra;

File contenedorpro = new File(ubicacionpro);
File [] procesadorlistado = contenedorpro.listFiles();

public TextAutoCompleter AutocompletarProcesador;

public Registrar() {
    initComponents();
    setLocationRelativeTo(this);
    AutocompleterReg();

    public void AutocompleterReg() {
        AutocompletarProcesador = new TextAutoCompleter(TProcesador1);
        for (int i = 0; i < procesadorlistado.length; i++) {
            AutocompletarProcesador.addItem(procesadorlistado[i].getName().replace(".procesador", ""));
        }
    }

我在一些使用重繪的論壇上看到,但我只希望在實時修改時更新過濾,但它會繼續顯示已刪除的數據,直到我關閉 jframe 並重新打開它,我也試過用計時器來做,但如果我這樣做,它不會讓我 select 就像谷歌搜索一樣,按下箭頭鍵到 select 我想要的結果。

video_recording.mp4

您遇到的問題可能是因為“Procesador”目錄中的文件列表僅在首次創建 Registrar JFrame 時被讀取一次。 當一個新文件添加到目錄時,程序不知道刷新文件列表。

解決此問題的一種方法是更新目錄中的文件列表,並在每次 JFrame 可見時重新填充 TextAutoCompleter。 您可以通過覆蓋 JFrame 的 setVisible() 方法並更新文件列表和其中的 TextAutoCompleter 來完成此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM