2016-03-28 2 views
0

У меня есть программа, которую я создал для работы. Эта программа загружает загруженный файл, считывает его и помещает данные в JList в графическом интерфейсе. В GUI фактически есть два списка, и пользователь может перемещать элементы между левым и правым списками, выделяя их, как обычно, с помощью JList, а затем нажимает стрелку для перемещения элементов. Списки - это выбор с несколькими интервалами.Показан счетчик динамически для выделенных элементов JList

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

Поскольку списки часто довольно велики, и пользователю может потребоваться переместить нечетное количество транзакций между списками (подумайте 300 транзакций в левом списке, и пользователю нужно переместить ровно 50), было бы полезно иметь этот счетчик ,

Может ли кто-нибудь подумать, как это можно сделать? Я не уверен, как добавить прослушиватель действий, просто щелкнув по элементам. Пожалуйста, дайте мне знать, если мне нужно уточнить.

Вообще-то мой вопрос: могу ли я создать прослушиватель действий только тогда, когда пользователь нажимает элемент в JList, который обновляет счетчик для текущих выбранных индексов? Также ему нужно будет изменить, когда они больше не выбрали показатель.

+0

Я хотел бы предложить мечение это с _swing_, а так правильно достигает «правильный» глаз –

ответ

3

Зарегистрируйте ListSelectionListener с помощью JList.

Слушатель может просто запросить, сколько строк выбрано, и обновить номер на панели. Возможно, используйте getSelectedValues ​​(). Size().

http://docs.oracle.com/javase/8/docs/api/javax/swing/JList.html#addListSelectionListener-javax.swing.event.ListSelectionListener-

+0

Спасибо, что дает мне хорошее стартовое место честно, я не думаю, что это возможно, но еще раз спасибо за давая мне куда-то начать. – jesric1029

Смежные вопросы