Как я могу проверить, было ли событие valueChanged Swing JList изменено с помощью щелчка или мыши?

Вот пример кода, использующего Swilbuilder Groovy для создания кода для события valueChanged JList:

    mainList.valueChanged = { event ->
        if (event.isAdjusting) {
            index = mainList.selectedIndex
            otherList.clearSelection()
            otherIndex = otherList.selectedIndex
        } else {
            mainListSelected = true
            clearJList(otherList)
        }
    }

У меня есть два JList, и эта функция управляет тем, какой список можно выбирать с помощью переменной mainListSelected. Затем мы также должны изменить int eindex, который мы хотим использовать из выбора, в зависимости от того, является ли он индексом из mainList или otherList.

Я читал о event.isAdjusting, и он срабатывает только дважды при событии щелчка мышью. С этим знанием вы могли бы подумать, что я просто переместил бы все оттуда, но мне нужно, чтобы некоторые вещи происходили по-другому, если мышь вызывает то, что вызывает событие, а не использование стрелок. Однако с этим кодом использование навигации по стрелкам предотвращает изменение индекса.

0 ответов

Другие вопросы по тегам