public static void main(String[] args) { DefaultListModel m = new DefaultListModel(); for (int i = 0; i < 5000; i++) { m.addElement("X" + i); } CheckList list = new CheckList(new JList(m)); JFrame f = new JFrame(); f.getContentPane().setLayout(new BorderLayout()); f.getContentPane().add(new JScrollPane(list)); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
public CheckList(JList list) { this.list = list; this.listeners = new ArrayList<>(); item2CheckBoxMap = new IdentityHashMap<>(); setLayout(new CheckListLayoutManager()); list.addPropertyChangeListener(evt -> { if (evt.getPropertyName().equals("model")) { handleModelChange(); ((ListModel) evt.getOldValue()).removeListDataListener(lsnr); } }); list.getModel().addListDataListener(lsnr); add(list); updateCheckBoxes(); }
public void actionPerformed(ActionEvent e) { fireCheckChanged(item, index, cb.isSelected()); } });
public CheckList(JList list) { this.list = list; this.listeners = new ArrayList<CheckListListener>(); item2CheckBoxMap = new IdentityHashMap<Object, JCheckBox>(); setLayout(new CheckListLayoutManager()); list.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals("model")) { handleModelChange(); ((ListModel) evt.getOldValue()).removeListDataListener(lsnr); } } }); list.getModel().addListDataListener(lsnr); add(list); updateCheckBoxes(); }
private void updateCheckBoxes() { Map<Object, JCheckBox> remaining = new IdentityHashMap<>(); // Add ones that are remaining.putAll(item2CheckBoxMap); ListModel model = list.getModel(); for (int i = 0; i < model.getSize(); i++) { final Object item = model.getElementAt(i); if (item2CheckBoxMap.get(item) == null) { final JCheckBox cb = new JCheckBox(); cb.setSelected(true); cb.setOpaque(false); item2CheckBoxMap.put(item, cb); add(cb); final int index = i; cb.addActionListener(e -> fireCheckChanged(item, index, cb.isSelected())); } remaining.remove(item); } for (Object item : remaining.keySet()) { JCheckBox cb = remaining.get(item); remove(cb); item2CheckBoxMap.remove(item); } repaint(); }
list = new CheckList(signatureList); list.addCheckListListener(new CheckList.CheckListListener() {
private void updateCheckBoxes() { Map<Object, JCheckBox> remaining = new IdentityHashMap<Object, JCheckBox>(); // Add ones that are remaining.putAll(item2CheckBoxMap); ListModel model = list.getModel(); for (int i = 0; i < model.getSize(); i++) { final Object item = model.getElementAt(i); if (item2CheckBoxMap.get(item) == null) { final JCheckBox cb = new JCheckBox(); cb.setSelected(true); cb.setOpaque(false); item2CheckBoxMap.put(item, cb); add(cb); final int index = i; cb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fireCheckChanged(item, index, cb.isSelected()); } }); } remaining.remove(item); } for (Object item : remaining.keySet()) { JCheckBox cb = remaining.get(item); remove(cb); item2CheckBoxMap.remove(item); } repaint(); }
private Set<OWLEntity> getCheckedEntities() { final Set<OWLEntity> entities = new HashSet<OWLEntity>(); for (Object o : list.getCheckedItems()) { RemovableObjectList<OWLEntity>.RemovableObjectListItem item = (RemovableObjectList.RemovableObjectListItem) o; entities.add(item.getObject()); } return entities; }
public void handleModelChange() { updateCheckBoxes(); list.getModel().addListDataListener(lsnr); }
public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals("model")) { handleModelChange(); ((ListModel) evt.getOldValue()).removeListDataListener(lsnr); } } });
list = new CheckList(signatureList); list.addCheckListListener(new CheckList.CheckListListener() {
public CheckList(JList list) { this.list = list; this.listeners = new ArrayList<CheckListListener>(); item2CheckBoxMap = new IdentityHashMap<Object, JCheckBox>(); setLayout(new CheckListLayoutManager()); list.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals("model")) { handleModelChange(); ((ListModel) evt.getOldValue()).removeListDataListener(lsnr); } } }); list.getModel().addListDataListener(lsnr); add(list); updateCheckBoxes(); }
private void updateCheckBoxes() { Map<Object, JCheckBox> remaining = new IdentityHashMap<Object, JCheckBox>(); // Add ones that are remaining.putAll(item2CheckBoxMap); ListModel model = list.getModel(); for (int i = 0; i < model.getSize(); i++) { final Object item = model.getElementAt(i); if (item2CheckBoxMap.get(item) == null) { final JCheckBox cb = new JCheckBox(); cb.setSelected(true); cb.setOpaque(false); item2CheckBoxMap.put(item, cb); add(cb); final int index = i; cb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fireCheckChanged(item, index, cb.isSelected()); } }); } remaining.remove(item); } for (Object item : remaining.keySet()) { JCheckBox cb = remaining.get(item); remove(cb); item2CheckBoxMap.remove(item); } repaint(); }
private Set<OWLEntity> getCheckedEntities() { final Set<OWLEntity> entities = new HashSet<OWLEntity>(); for (Object o : list.getCheckedItems()) { RemovableObjectList<OWLEntity>.RemovableObjectListItem item = (RemovableObjectList.RemovableObjectListItem) o; entities.add(item.getObject()); } return entities; }
public void handleModelChange() { updateCheckBoxes(); list.getModel().addListDataListener(lsnr); }
public void propertyChange(PropertyChangeEvent evt) { if (evt.getPropertyName().equals("model")) { handleModelChange(); ((ListModel) evt.getOldValue()).removeListDataListener(lsnr); } } });
signatureList.setPreferredSize(new Dimension(300, 300)); JPanel signatureListPanel = new JPanel(new BorderLayout()); list = new CheckList(signatureList); list.addCheckListListener(new CheckList.CheckListListener() {
public static void main(String[] args) { DefaultListModel m = new DefaultListModel(); for (int i = 0; i < 5000; i++) { m.addElement("X" + i); } CheckList list = new CheckList(new JList(m)); JFrame f = new JFrame(); f.getContentPane().setLayout(new BorderLayout()); f.getContentPane().add(new JScrollPane(list)); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }
private Set<OWLEntity> getCheckedEntities() { final Set<OWLEntity> entities = new HashSet<>(); for (Object o : list.getCheckedItems()) { RemovableObjectList<OWLEntity>.RemovableObjectListItem item = (RemovableObjectList.RemovableObjectListItem) o; entities.add(item.getObject()); } return entities; }
public void handleModelChange() { updateCheckBoxes(); list.getModel().addListDataListener(lsnr); }