[問題] JPanel更新

看板java作者 (honamida)時間13年前 (2012/10/25 19:07), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
小弟想隨著ComboBox的選項不同 去改變列出的Jlist 首先寫了一個jlist的 class public class listFriends extends JPanel { String[] friendList = new String [5]; private JList friendBox; public listFriends(){ setLayout (new BorderLayout()); . . <--------------- friendList 資料 . friendBox = new JList(friendList); this.add(friendBox); } } 然後在Combox listner的地方 comboList.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) { JComboBox cb = (JComboBox)e.getSource(); Object item = e.getItem(); String userName = (String)item; if(e.getStateChange() == ItemEvent.SELECTED){ Allen --> if(userName.equals("Allen")){ System.out.println("Allen"); User.user = 1; remove(friendList); friendList = new listFriends(); add(friendList); } Peter ---> if(userName.equals("Peter")){ System.out.println("Peter"); User.user = 2; remove(friendList); friendList = new listFriends(); add(friendList); } else if (e.getStateChange() == ItemEvent.DESELECTED){ ; } } }); 姑狗了很久 找不到辦法可以解決@@ 我不管在combobox裡選了"Peter" 或是 "Allen" 他們各字對應的list 就是不會改變 還是印出原本的list 原本的想法是 remove掉原本的list以後 再用原本寫好的listfriend 再去new一個 想要更新的list 然後這個list的內容會隨著user的值改變 然後再把new出來的新list add到panel裡 不過點了半天完全沒反應@@~~ 希望有大大能夠幫忙解惑為什麼沒辦法 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.221.161

10/26 09:19, , 1F
有印出 Allen 嗎? 你有要他重新繪製嗎?
10/26 09:19, 1F

10/26 23:25, , 2F
我發現我忘記repaint() @@~~~ thx
10/26 23:25, 2F
文章代碼(AID): #1GYHrZXf (java)