2014-01-27 4 views
0

Привет ребята Im небольшие проблемы с установкой выбранного пункта моего комбобоксеJComboBox - настройка списка массива выбран пункт

Я в настоящее время чтения файла, который содержит объект человека

У меня есть комбо ящик, который производится с использованием списка массива с 3-мя именами внутри него

Я хотел, чтобы прочитать файл получить текущее имя файла человека и установить, что имя моего комбо поле коробки

Heres что у меня до сих пор:

for(Person p : personList){ 
    if(p.getName() == personList.toString()){ 
    personComboBox.setSelectedItem(p.getName()); 
    } 
} 

я уже успел прочитать файл, я просто хотел, чтобы обновить выбранный элемент в моем поле со списком

+1

Во-первых, не сравнить значения String, используя '' ==. Используйте 'equals()'. Во-вторых, я не уверен, что вы хотите сравнить имя с представлением String вашего списка. Это бессмысленно. –

+0

my personList имеет тип Person –

+0

Знаете ли вы, что делает 'personList.toString()' делает? Я предлагаю вам распечатать это, чтобы узнать, что он выводит. –

ответ

0

1 - personList является массивом, а не вещь. 2 - Никогда не используйте == для сравнения строк! Предпочитают .equals().

То, что вы должны делать somethink так:

String personInTheFile = "Fubar Rabuf"; 
for(int i=0; i<personComboBox.getItemCount(); i++){ 
    Person p = personComboBox.getItemAt(i); 
    if(personInTheFile.equals(p.toString())){ 
     personComboBox.setSelectedIndex(i); 
     break; 
    } 
} 
+0

Мой arraylist держит значения моего combobox, и человек используется, чтобы проверить, равно ли значение этого массива объекту person, который Я вытащил из своего файла –

+0

Но как? В вашем файле у вас есть только один человек, а не список людей, верно? Массив может иметь много «людей» внутри, но вы сравниваете его с одним «народом». Это никогда не вернет true, даже если вы сравниваете использование ==, которое сравнивает адрес памяти, а не контент. В приведенном выше коде я объяснил простой способ достижения желаемого (если я правильно понял ваши сомнения). –

Смежные вопросы