bonjour, je travaille avec netbeans 7.01 et j ai fait une application "standalone". Je veux utiliser une jcombobox non éditable, et avec un modèle. Si j'ai les string A B et C comme items (3 items donc) et que je tappe "B" au clavier quand ma combo a le focus, elle reste sur A.
Par contre si j'alimente la combobox sans modèle (addItem("A"),addItem("B"),addItem("C")), là le comportement est satisfaisant(je peux tapper ma lettre direcrement au clavier, la combobox se positionne alors sur ma lettre sans avoir à la déployer).
Comment dois je faire pour utiliser un modèle et pouvoir saisir une "lettre" directement ?
http://www.java2s.com/Code/JavaAPI/j...boBoxModel.htm
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class MainClass { public static void main(String args[]) { JFrame frame = new JFrame("ArrayListComboBoxModel"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Collection<Object> col = System.getProperties().values(); ArrayList<Object> arrayList = new ArrayList<Object>(col); ArrayListComboBoxModel model = new ArrayListComboBoxModel(arrayList); JComboBox comboBox = new JComboBox(model); frame.add(comboBox, BorderLayout.NORTH); frame.setSize(300, 225); frame.setVisible(true); } } class ArrayListComboBoxModel extends AbstractListModel implements ComboBoxModel { private Object selectedItem; private ArrayList anArrayList; public ArrayListComboBoxModel(ArrayList arrayList) { anArrayList = arrayList; } public Object getSelectedItem() { return selectedItem; } public void setSelectedItem(Object newValue) { selectedItem = newValue; } public int getSize() { return anArrayList.size(); } public Object getElementAt(int i) { return anArrayList.get(i); } }







Répondre avec citation
Partager