2016-12-09 7 views
0

Мне нужно изменить цвет НЕКОТОРЫХ элементов comboBox. Я читаю эту тему: Set style to GWT ListBox itemsУстановить стиль GWT ComboBox items

Однако его не то же самое. Потому что, когда я пытаюсь осуществить это:

SelectElement selectElement = SelectElement.as(combo.getElement()); 
     NodeList<OptionElement> options = selectElement.getOptions(); 

     for (int i = 0; i < options.getLength(); i++) { 
       options.getItem(i).getStyle().setColor("#FF0000"); 
     } 

В первой строке компилятор возвращает ошибку: java.lang.AssertionError: null

Я начал думать, что не вешать, чтобы изменить цвет, или я ошибаюсь?


Результат должен быть, как этот вариант Volvo: http://bustas.lrytas.lt/nekilnojamasis-turtas/geda-vilniaus-merams-ne-vienas-neissprendzia-opiausios-bedos.htm

ответ

0

Я считаю, что вы можете использовать .setClassName ("my_css_class"), чтобы стиль SelectElement.

Добавьте CSS к вашему HTML-то вроде этого:

.styled-select select { 
    background: transparent; 
    width: 268px; 
    padding: 5px; 
    font-size: 16px; 
    line-height: 1; 
    border: 0; 
    border-radius: 0; 
    height: 34px; 
    } 

Вы также найдете много информации о стилизации с помощью CSS.

Если вы используете любой другой виджет GWT, то есть ListBox, вы можете использовать .setStyleName («my_class_name»). Вы также можете обернуть GWT ListBox и SelectElement и стилизовать его.

ListBox listBox = ListBox.wrap(mySelectElement); 
listBox.setStyleName("my_css_class"); 

Смотрите здесь для более: https://bavotasan.com/2011/style-select-box-using-only-css/

EDIT: Некоторые отличные примеры использования таблиц стилей падают вниз коробки здесь: How to style a <select> dropdown with CSS only without JavaScript?

EDIT 2 пользовательского стиля из выпадающего списка

Укладка отдельных элементов в ListBox или в раскрывающемся списке.

CSS:

.selectbox { 
     border: 3px; 
     border-radius: 5px; 
     padding: 4px; 
     background-color: #44f; 
    } 
    .optioncss { 
     background-color: #888; 
    } 

HTML выберите элемент, например

<select id="selectbox" class="selectbox"> 
     <option>Option 1</option> 
     <option>Option 2</option> 
     <option>Option 3</option> 
     <option>Option 4</option> 
    </select> 

код клиента GWT элементы повторно стиле

ListBox select = ListBox.wrap(RootPanel.get("selectbox").getElement()); 
    SelectElement elem = (SelectElement)select.getElement().cast(); 
    elem.getOptions().getItem(0).setDisabled(true); 
    elem.getOptions().getItem(1).setClassName("optioncss") 
+0

Спасибо за помощь. Но мне нужно сделать все с помощью «Combobox», а не объекта «ListBox». –

+0

.setStyleName() также работает с ComboBox – WLGfx

+0

Но вы можете получить каждый элемент в Java. Что-то вроде этого: 'combobox.getItemsList()' для установки стиля для каждого элемента. Результатом, который я хочу достичь, является http://www.w3schools.com/tags/tryit.asp?filename=tryhtml_option_disabled (пример VOLVO) –