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(); }
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 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(); }