簡體   English   中英

搖擺。 用JList填充JScrollPane

[英]Swing. Fill JScrollPane with JList

我在做窗口應用。 我需要創建一個JScrollPane,然后用String []填充它。 問題是我需要刷新它。

當我開始應用時,我想要一個空的JScrollPane,當我按下任意按鈕時,該按鈕將刷新JScrollPane。

我有所有代碼,我只需要刷新內容:

    // Empty JScrollPane
    scrollPaneDic = new JScrollPane(new JList());
    scrollPaneDic.setBounds(225, 75, 200, 170);

    // Layout
    frame.getContentPane().setLayout(null);
    frame.getContentPane().add(lblPalabrasDiccionario);
    frame.getContentPane().add(scrollPaneDic);

在按鈕actionListener中,我必須刷新內容:

    String[] newContent = (method generate and return the new array);
    listDic = new JList(newContent);
    scrollPaneDic = new JScrollPane(listDic);

重要提示 :scrollPaneDic和listDic是全局的

謝謝

更改變量的值不會以任何方式影響組件的狀態。 您必須調用組件方法。 在執行此操作之前,您的框架無法知道已創建了新的JScrollPane。

實際上,您不應創建新的JScrollPane或新的JList。 相反,您應該更新現有的JList:

JList listDic = (JList) scrollPaneDic.getViewport().getView();
listDic.setListData(newContent);

另外,強烈建議不要使用null布局,尤其是對於JScrollPane。 在運行應用程序之前,請嘗試調整窗口大小,或嘗試更改系統字體的大小,您將了解原因。 並非每個用戶的系統都像您的系統。

暫無
暫無

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

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