GWT ComboBox Хронологический порядок - PullRequest
0 голосов
/ 14 января 2011

У меня есть виджет GWT ComboBox (ListBox + TextBox). Пользователь может ввести некоторый текст в этот виджет или выбрать из списка ранее существующих текстов, нажав на стрелку раскрывающегося списка.

Итак, у меня естьArrayList, и когда пользователь вводит текст и нажимает кнопку «Поиск», я выполняю поиск, если введенный текст существует в ArrayList и, если его нет, я добавляю этот текст в ArrayList.

Затем позже, когда яМне нужно отобразить ComboBox в представлении, я перебираю свой ArrayList и добавляю каждую строку в Arraylist в ComboBox.

Способ отображения значений в поле со списком не в хронологическом порядке. Последние введенныетекст находится внизу ComboBox. Как я могу сделать это хронологическим?

Я могу перевернуть список и добавить его в свой ComboBox. Но когда пользователь выбирает текст, который уже существует, то есть, когда проблема. (Я могу добавить ArrayList в список, переместить выбранный элемент вверх ивнести изменения в подсписок и добавить его обратно в основной ArrayList, но я чувствую, что он слишком длинный и неэффективный)

Так есть ли какие-либо предложения в отношении структуры данных, которую я использую (ArrayList)?что может облегчить мою задачу?

Извините за излишнюю сложность, но я всегда чувствую, что лучше быть, чем нет.

1 Ответ

1 голос
/ 14 января 2011

Управляет ли этот пример кода списком критериев так, как вы хотели:

import java.util.*;
public class ListManager {

public static void main(String[] args) {
    String[] items = {"snow", "rain", "ice", "sleet", "ice", "sunny"};
    List<String> criteriaList = new ArrayList<String>();
    String criteria;
    for (String newCriteria : items) {
        if (criteriaList.remove(newCriteria)) {
            System.out.println(newCriteria + " was in the list already");
        }
        criteriaList.add(0, newCriteria);
        System.out.println();
        System.out.print("List is: ");
        for (String x : criteriaList) {
            System.out.print(x +"  ");
        }
        System.out.println();
    }
}

}

Вывод:

Список: снег

Список: ледяной дождь

Список: ледяной дождь снег

Список: ледяной дождь ледяной снег

лед уже был в списке

Список: ледяной дождь, дождь, снег

Список: солнечный ледяной дождь, дождь, снег

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...