source: src/main/java/genius/gui/panels/MultiListSelectionModel.java@ 61

Last change on this file since 61 was 1, checked in by Wouter Pasman, 6 years ago

Initial import : Genius 9.0.0

File size: 1.0 KB
Line 
1package genius.gui.panels;
2
3import javax.swing.DefaultListSelectionModel;
4
5/**
6 * Selection model for JList's which allows multiple elements to be selected
7 * by toggling an item when clicked.
8 *
9 * @author Mark Hendrikx (m.j.c.hendrikx@student.tudelft.nl)
10 * @version 05/12/11
11 */
12public class MultiListSelectionModel extends DefaultListSelectionModel {
13 private static final long serialVersionUID = 3815068403424389993L;
14 private int i0 = -1;
15 private int i1 = -1;
16
17 public void setSelectionInterval(int index0, int index1) {
18 if (i0 == index0 && i1 == index1) {
19 if (getValueIsAdjusting()) {
20 setValueIsAdjusting(false);
21 setSelection(index0, index1);
22 }
23 } else {
24 i0 = index0;
25 i1 = index1;
26 setValueIsAdjusting(false);
27 setSelection(index0, index1);
28 }
29 }
30
31 private void setSelection(int index0, int index1) {
32 if (super.isSelectedIndex(index0)) {
33 super.removeSelectionInterval(index0, index1);
34 } else {
35 super.addSelectionInterval(index0, index1);
36 }
37 }
38}
Note: See TracBrowser for help on using the repository browser.