Pages: 1
Проблемы с выпадающим списком
Доброго времени суток. При написании программки столкнулась с проблемой:
необходимо, чтобы выпадающий список заполнялся автоматически в зависимости от заданного числа. Число задается при помощи бегунка, когда бегунок перемещаем выполняется следующий код:

String[] items = new String[kolGen+2];
for (int i=0; i<kolGen; i++){
items[i] = "генератор"+(i+1); //создаю массив типа String

//заполняю выпадающий список значениями типа 
// "генератор1   генератор2......   генератор(kolGen)
combobox1.setItems(items);  
//kolGen - это параметр, который зависит от бегунка

Все замечательно создается, однако также нужно, чтобы при выборе элемента из выпадающего списка происходило некое действие. В коде выпадающего списка в графе "Действие" у меня написано:

if (value=="генератор1" ){
//при выборе "генератор1" переходим на соотв. поле
ген1.viewData.navigateTo();


if (value=="генератор2" ){
//при выборе "генератор2" переходим на соотв. поле
ген2.viewData.navigateTo();
}
.....


И вот тут как раз проблема. При выборе элемента из списка не происходит никаких действий.
Подскажите, пожалуйста, как это можно решить?
Вообщем, не знаю что за беда, сделала так:

String[] items = new String[kolGen];
String[] strGen = new String[]{"генератор1", "генератор2", "генератор3", "генератор4", "генератор5", /*..укорочу..*/ "генератор20"};

for (int i=0; i<kolGen; i++){
items[i] = strGen[i];

combobox1.setItems(items);


Вот так работает. Но почему первый вариант не подходит.... (дело в этом индексе, который я добавляю в первом варианте)
Первый вариант не работает, так как для сравнения переменных типа String вы используете оператор "==". В этом случае вы проверяете имеют ли эти две переменные один и тот же указатель, иными словами ссылаются ли они на один и тот же объект. Для сравнения значения строк, необходимо использовать метод "equals()": 

if (value.equals("генератор1")){ 
ген1.viewData.navigateTo(); 
}  


if (value.equals("генератор2")){ 
ген2.viewData.navigateTo(); 

..... 
Edited: Tatiana Gomzina - 23.07.2013 15:21:56
Pages: 1
Users browsing this topic (1 guests, 0 registered, 0 hidden)