Как добавить элемент по умолчанию, например, «Добавить новый элемент» в верхней части JComboBox - PullRequest
2 голосов
/ 03 декабря 2009

Как я могу добавить запись по умолчанию вверху JComboBox, такую ​​как Добавить новый элемент, чтобы позволить пользователю щелкнуть эту запись и получить диалоговое окно, позволяющее им создать новую запись? Стоит ли использовать пользовательский рендерер или как лучше? Я ценю чью-либо помощь с этим.

Ответы [ 3 ]

1 голос
/ 03 декабря 2009

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

Подумайте об этом: если вы используете дополнение управления JComboBox для ALSO, вы также расширяете его для удаления управления? Что происходит после создания первой записи? Эта запись по умолчанию исчезает? Что происходит, когда у вас много записей?

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

1 голос
/ 03 декабря 2009

1) Добавить запись в верхней части источника, заполняющего комбо

2) Добавьте слушателя в комбинированный список, открывая внешний диалог, когда selectedindex = 0

0 голосов
/ 03 декабря 2009

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

если выпадающий список помечен как редактируемый, то всякий раз, когда пользователь вводит в выпадающий список, появляется текстовое поле для ввода.

вроде так:

 Vector<String> options  = new Vector<String>();
   options.add("");
   options.add("blue");
   options.add("red");
...
 JComboBox result = new JComboBox(options);
 result.setEditable(true);

дополнительно, если комбинированный список находится в таблице, вы можете использовать другой комбинированный список для рендерера и редактора; как в: если значение этой ячейки пустое или пустая строка, то вы можете сделать так, чтобы в комбинированном ящике рендерера была единственная опция, которая гласила «выбрать или ввести значение» или «выбрать значение», а затем сделать редактор действительным поле со списком, которое я определил выше.

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