2016-06-21 6 views
0

Я пишу скрипт для отображения файла свойств с помощью swing. В интерфейсе есть выпадающий:Как установить значение combobox по умолчанию для значения, заданного в файле свойств?

private JComboBox Types= new JComboBox(); 

Я установил 3 значения к нему, как показано ниже: установленное значение

private String[] Options = { "Web", "IOS", "Android" }; 
for (int i = 0; i < 3; i++) 
    Types.addItem(Options[count++]); 

по умолчанию Web. Мне нужно прочитать файл config.prop и установить значение по умолчанию для combobox в значение, заданное в файле config.prop. Напр. если значение, установленное в config.prop, равно Type = IOS, combobox должен отображать IOS.

Я попытался ниже метод, но выпадающий показывает пустой:

Types.setSelectedItem(configProp.getProperty("Type")); 
+0

1) Для лучшей помощи раньше, опубликовать [MCVE] или [Short, самодостаточный, Правильный пример] (http://www.sscce.org/). 2) Пожалуйста, изучите общую номенклатуру Java (соглашения об именах - например, 'EveryWordUpperCaseClass',' firstWordLowerCaseMethod() ',' firstWordLowerCaseAttribute', если это не 'UPPER_CASE_CONSTANT') и использовать ее последовательно. –

+0

BTW - вы понимаете, что это капитализируется как iOS, а не IOS, верно? –

+0

вы можете сначала проверить, что возвращается: 'int index = Arrays.asList (Options) .indexOf (configProp.getProperty (« Тип »));' Если индекс не равен -1, тогда обязательно он есть в списке, тогда вы можете 'Types.setSelectedIndex (index);' – SomeDude

ответ

0

Я думаю, что знаю вашу проблему. вы используете счет в своем цикле. использовать 'я'

private String[] Options = { "Web", "IOS", "Android" }; 
for (int i = 0; i < 3; i++) 
    Types.addItem(Options[i]); 

int index = Arrays.asList(Options).indexOf(configProp.getProperty("Type")); 
if (index != -1) 
{ 
    Types.setSelectedIndex(index); 
} 
else if(Options.length() > 0) 
{ 
    Types.setSelectedIndex(0); 
} 
+0

Спасибо. Я могу установить значение поля со списком с этим кодом. – user3190414

0

Как JComboBox является список строка, она должна быть уже работает нормально. Вы можете проверить значение

configProp.getProperty("Type")