java - 如何比较jLabel的边框粗细?

标签 java swing arraylist netbeans

我有一个 jLabels 数组,其中包含 DoubleLinkedList 中的各个玩家的姓名。 jLabels 的边框厚度为 1px。当轮到玩家时,边框应该更改为 3px。如果边框是 3px,我无法成功比较,因此我无法切换转弯。变量 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;
    }
}

最佳答案

在数据模型中保留选择状态。

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 ...
}

关于java - 如何比较jLabel的边框粗细?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58325064/

相关文章:

java - JTree 节点的渲染和字体变化

java - 计时器正在尝试转换为字符串

c# - 用什么数据结构来实现arraylist

Java自定义按同一字符串的2部分排序

java - 单击按钮时如何调用方法

Java - 逐行 'debug report'

java - IntelliJ IDEA 中的原型(prototype)列表来自哪里?

java - 将原语转换为自定义类

java - 如何将 "propagate"将一个 `ArrayList<String>` 排序到另一个?

java - 如果我使用 EJB,我是否需要 JPA 提供程序(如 Hibernate)?