package com.jotuntech.sketcher.client; import java.awt.Color; import java.util.HashMap; import java.util.Map; import javax.swing.BoxLayout; import javax.swing.JPanel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import com.jotuntech.sketcher.common.TwoWayHashMap; import com.jotuntech.sketcher.common.User; public class JUserList extends JPanel { TwoWayHashMap userMap; Map entryMap; public JUserList(TwoWayHashMap userMap) { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); this.setBackground(Color.WHITE); this.setOpaque(true); entryMap = new HashMap(); this.userMap = userMap; userMap.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { redo(); } }); redo(); } private void redo() { entryMap.clear(); removeAll(); for(Map.Entry e : userMap.entrySet()) { JUserEntry ue = new JUserEntry(e.getValue().getName()); add(ue); entryMap.put(e.getKey(), ue); } this.revalidate(); } public JUserEntry getEntry(Integer key) { return entryMap.get(key); } public void clearVoice() { for(JUserEntry ue : entryMap.values()) { ue.clearVoice(); } } }