I was wondering how to modify a JList so that clicking any values would not do anything. I have looked at other questions but none have helped.
Asked
Active
Viewed 1.1k times
9
Ruchira Gayan Ranaweera
- 33,712
- 16
- 72
- 110
nrubin29
- 1,462
- 3
- 23
- 51
2 Answers
14
I solved it by using the following class:
class DisabledItemSelectionModel extends DefaultListSelectionModel {
@Override
public void setSelectionInterval(int index0, int index1) {
super.setSelectionInterval(-1, -1);
}
}
I instantiated the class here:
console.setSelectionModel(new DisabledItemSelectionModel());
nrubin29
- 1,462
- 3
- 23
- 51
-
3This method still allows the user to select elements with CTRL + Mouse1 click unless selection model is set to `SINGLE_SELECTION`. – Dev Apr 27 '15 at 20:33
-
2For me, setting selection mode (!) to `SINGLE_SELECTION` does not prevent it. But overriding `public void addSelectionInterval(int index0, int index1)` with the same `super.setSelectionInterval(-1, -1);` does. – Bowi Feb 03 '17 at 14:32
3
Assuming your objects in your JList are clickable items, just do setEnabled(false) on all the objects you want to disable
Ruchira Gayan Ranaweera
- 33,712
- 16
- 72
- 110
StormeHawke
- 5,734
- 5
- 41
- 73
-
1@HovercraftFullOfEels I am writing Strings to the JList, so there's no way I could disable Strings. – nrubin29 Jul 25 '13 at 16:45