Прошло некоторое время с тех пор, как я написал здесь, и теперь я нахожусь в точке, где я снова застрял.
Для моего задания в университете нас попросили создать приложение для адресной книги. Это идет хорошо, и это почти закончено, однако одна часть проекта, которая является исключительно моим предпочтением, ускользает от меня. Я не прошу помощи по любой части задания, которая принесет мне оценки, просто чтобы прояснить ситуацию. Я могу загрузить спецификацию, если кому-то понадобятся доказательства этого. (/ Раскрытие)
Часть приложения импортирует и экспортирует файлы пользовательского типа и формата vcard. Это отлично работает. Пользовательский тип файла содержит несколько контактов, всего 4 строки на контакт. Поскольку он содержит несколько контактов, открывается новое окно, в котором пользователю предлагается выбрать контакты, которые он хочет экспортировать в файл. Он содержит JList, где пользователь может выбрать контакты и экспортировать файл, без проблем.
То, что я пытался сделать, - это создать собственный рендерер ячеек, который позволит использовать флажок в JList. Я почти получил эту работу, посмотрев здесь (http://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html#renderer) и здесь (http://www.jroller.com/santhosh/entry/jlist_with_checkboxes),, однако не повезло). Первая ссылка объясняет, как создать пользовательский рендерер ячеек, но не флажки, а вторая объясняет, как сделать флажки. Я могу получить флажки для отображения, однако тогда это ВСЕ, что отображается.
В последнем примере сами ячейки нужно щелкнуть, чтобы выбрать членов списка. То, что я хотел бы сделать, это позволить пользователю нажимать либо на элементы списка, либо на флажки, чтобы выбрать элемент.
В версии только с флажками, которые я установил, выбор работал, однако по-прежнему нужно было удерживать клавишу Ctrl для выбора нескольких элементов. Есть ли способ сделать так, чтобы Ctrl не требовался для множественного выбора элементов? Я знаю, что вы можете читать модификаторы одним кликом, но не знаю, сможете ли вы применить их к щелчку указанного объекта.
Ваши мысли, комментарии, предложения, ссылки и точные ответы приветствуются! :)