Java отключить щелчок мышью по jList - PullRequest
0 голосов
/ 24 февраля 2019

Я сделал игру «Кто хочет стать миллионером» с полем jList.В списке jList я перечислил призы, см. Эту картинку ниже

enter image description here

Игра начинается с приза № 1 и увеличивает число, если ответ был в порядке,Если я наведу указатель мыши на приз, я также могу изменить положение приза щелчком мыши.Это то, что я хочу отключить.JList нужно иметь только для показа призов без изменения одним щелчком мыши.Я также пытаюсь использовать отключение jList, но затем меняются все цвета, и я не могу найти, где можно настроить отключенные цвета.

Какое решение лучше всего подходит для моих нужд?

1 Ответ

0 голосов
/ 24 февраля 2019

Самый простой способ для этого - добавить ListSelectionListener для восстановления правильного индекса в JList.

. Посмотрите на пример:

list.addListSelectionListener(new ListSelectionListener() {

    @Override
    public void valueChanged(ListSelectionEvent e) {
        list.setSelectedIndex(myIndex);

    }
});
list.setSelectedIndex(0); //0 plays no role, since listener will select myIndex

Выбранный индекс всегда останется моим индексом, несмотря ни на что.

Примечание: Если вы хотите изменить индекс позже, вы должны изменить значениеmyIndex переменная , не забывая также и о приемнике прослушивания .Точнее:

myIndex = 15;
list.setSelectedIndex(0); //0 plays no role, since the selection listener uses myIndex

Другой способ (на мой взгляд, более сложный ) - читать и следовать Отключить свойство выбора ячейки JList.

...