Как сравнить толщину границы jLabel? - PullRequest
0 голосов
/ 10 октября 2019

У меня есть массив jLabels с именами различных игроков, содержащимися в DoubleLinkedList. У jLabels есть границы толщиной 1px. Граница должна измениться на 3px, когда наступит ход игроков. Я не смог успешно сравнить, если граница составляет 3 пикселя, поэтому я не могу переключать повороты. Переменная m - это то, что мне нужно, чтобы вернуть индекс метки с границей 3px. Буду очень признателен за помощь.

int m;

for (m = 0; m < jlNombresArray.size(); m++) {
    if(jlNombresArray.get(m).getBorder().equals(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(240, 240, 240), 3))) {
        break;
    }
}

1 Ответ

0 голосов
/ 10 октября 2019

Сохранение состояния выбора в вашей модели данных.

int selectedPlayerIndex = -1;

void changePlayerView(int playerIndex) {
    if (selectedPlayerIndex != -1) {
        jlNombresArray.get(selectedPlayerIndex).setBorder(
            BorderFactory.createLineBorder(new Color(240, 240, 240), 1));
    }
    selectedPlayerIndex = playerIndex;
    if (selectedPlayerIndex != -1) {
        jlNombresArray.get(selectedPlayerIndex).setBorder(
            BorderFactory.createLineBorder(new Color(240, 240, 240), 3));
    }
    ... repaint ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...