Использую JComboBox.
Нужно добавить в комбо пары id — знасение
Например:
-4 Undefined
-1 None
0 Default
1 Proc1
2 Proc2
3 Proc3
Пытался добавить такой список в DefaultComboBoxModel, не получается (, так как для хранения значений в DefaultComboBoxModel
используется Vector, а индекс Vector"а не может быть отрицательным.
Вот теперь думаю, написать свою DefaultComboBoxModelEx, где заменить Vector на HashMap<Integer, String>,
или написать клас JComboBoxEx надстройку над JComboBox, и прямо в нем хранить соответствия id — index.
Первый вариант правильнее и красивее, но больше займет времени и возможны баги, второй вариант менее правильный, но зато кода писать меньше и код проще, меньше вероятности баги написать.
Sokil said the following on 06.02.2007 23:30: > Что делать )?
Или написать модель, это не так сложно, или ложить в модель обьекты
своего класса, которые будут по toString выдавать то что нужно (т.е. по
сути это тоже обертка).
Posted via RSDN NNTP Server 2.0
Re[2]: Написание своей ComboBoxModel или не стоит ?
Здравствуйте, Artem Kuroptev, Вы писали:
AK>Sokil said the following on 06.02.2007 23:30: >> Что делать )?
AK>Или написать модель, это не так сложно, или ложить в модель обьекты AK>своего класса, которые будут по toString выдавать то что нужно (т.е. по AK>сути это тоже обертка).
так можно избежать косяков. кажется, что это проще, чем модель гораздо.
Здравствуйте, Sokil, Вы писали:
S>Использую JComboBox. S>Нужно добавить в комбо пары id — знасение S>Например: S>-4 Undefined S>-1 None S>0 Default S>1 Proc1 S>2 Proc2 S>3 Proc3
S>Пытался добавить такой список в DefaultComboBoxModel, не получается (, так как для хранения значений в DefaultComboBoxModel S>используется Vector, а индекс Vector"а не может быть отрицательным.
S>Вот теперь думаю, написать свою DefaultComboBoxModelEx, где заменить Vector на HashMap<Integer, String>, S>или написать клас JComboBoxEx надстройку над JComboBox, и прямо в нем хранить соответствия id — index.
S>Первый вариант правильнее и красивее, но больше займет времени и возможны баги, второй вариант менее правильный, но зато кода писать меньше и код проще, меньше вероятности баги написать.
S>Что делать )?
Можно запросить SUN исправить Vector — кода вообще писать не придется!