java - 更新 Jlabel 的新位置

标签 java swing layout jlabel layout-manager

我是 Java 新手,我的作业遇到了一些问题。 我有一个包含 100 个 JLabels 的面板:

for(int i=0;i<100;i++)
{
    num[i] = new JLabel(""+i, JLabel.CENTER);
    mainPanel.add(num[i]);
}

还有一个按钮,用于在单击时为标签设置图像图标

public void actionPerformed(ActionEvent ae)
{
    int a = ran.nextInt(6) +1;//random number

    int b +=a;            
    if(b>=100)
    {
        b=99;
        num[b].setIcon(icon);
    }
    else
    {                
        num[b].setIcon(icon);              
    }
}

如何删除上一个位置的图标并将其更新到新位置?

最佳答案

您可以尝试记住您尝试为其设置图标的标签的数组索引

例如-

int b = 0; // make b an instance variable

public void actionPerformed(ActionEvent ae)
{
    int a = ran.nextInt(6) +1;//random number
    num[b].setIcon(null); //remove the icon from from previously set label

    b=a;  //since b already has some value, b+=a might create unexpected result, hence just assigned a  
    if(b>=100)
    {
       b=99;
       num[b].setIcon(icon);
    }
    else
    {                
       num[b].setIcon(icon);
    }
}

关于java - 更新 Jlabel 的新位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15899805/

相关文章:

java - java中使用arraylist存储文件

java - 如何使用 ognl 更改 session 范围属性?

Java 调用并等待?

Java Component.show()/hide() 已弃用……为什么?

MySQL 日期字段 : duplicate or calculate?

css - 如何在 div 中居中放置 SVG?

java - 如何实现一个真正的异步 java 线程

java - Eclipse 和 LibGDX : Problems with playing music on exported jar?

java - 从 DefaultTableModel 对象中删除行

ios - 如何在 iOS 中添加相对于其他 UI 元素的 UILabel