如何为要在JLabel中显示的图形指定数字

时间:2017-07-31 10:19:23

标签: java

我正在创建一个更高或更低的纸牌游戏,目前,它会生成一个从113的随机数,只是一个简单的字符串标签(1,2,3,4等),具体取决于什么数字被拉。 而不是这个,我想显示与该号码对应的卡片的图形。

2 个答案:

答案 0 :(得分:0)

public int getRandomNumber(){
Random r = new Random();
int nr = r.nextInt(13);
return nr;
}
...
 JLabel label = new JLabel(getRandomNumber(), JLabel.CENTER);

要更新标签文本,您可以使用此方法

public void updateLabel(int nr){

    label.setText(nr+"");

    //place this method inside your Jframe class extend from javax.swing.Jframe
    }

如果您想根据号码放置图像。假设您有13个图像(数字)//图像图像[13]; 然后你可以使用这个

public void setIcon(int nr){
ImageIcon icon = new ImageIcon(images[nr]); 

label.setIcon(icon);
}

答案 1 :(得分:0)

我认为您正在寻找的是向Icon添加JLabel

您可以使用setIcon方法来接受Icon的任何实施,例如ImageIcon

以下内容应该有效:

ImageIcon imgIcon = new ImageIcon(URL_OF_THE_PIC));    
jLabel.setIcon(imgIcon);

无论何时挑选新卡,您都可以相应地更改文字和图标。