[英]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.