Sketcher2 source code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
1.2 KiB

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<Integer, User> userMap;
Map<Integer, JUserEntry> entryMap;
public JUserList(TwoWayHashMap<Integer, User> userMap) {
setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
this.setBackground(Color.WHITE);
this.setOpaque(true);
entryMap = new HashMap<Integer, JUserEntry>();
this.userMap = userMap;
userMap.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
redo();
}
});
redo();
}
private void redo() {
entryMap.clear();
removeAll();
for(Map.Entry<Integer, User> 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();
}
}
}