Java,当有特定数字时添加图像

时间:2014-12-10 16:14:10

标签: java netbeans

抱歉不够清楚。英语是我的第二语言。

我在这里做了一个complet代码来生成四个随机数,然后打印出四个图像(图像二)。

我有图像一,二,三,五,六。

Random tarning = new Random();

String strOutput="";
int nummer;


for(int i=1; i<=4; i++){
   nummer = 1+tarning.nextInt(6);
   strOutput=strOutput+" "+nummer;
}

lblOutput.setText(strOutput);


jPanel2.setLayout(new java.awt.GridLayout(1,6));          
for(int n=0;n<=3;n++){
   x[n].setIcon(new ImageIcon("two.png")); 
   jPanel2.add(x[n]);
   jPanel2.revalidate();
   jPanel2.repaint();
 }

当它打印出来像1 2 3 4时,我怎样才能获得图像One在第一个出现时打印然后在第二个出现时成像二等。

2 个答案:

答案 0 :(得分:0)

尝试使用地图将数字映射到图像名称。喜欢:

Map<String, String> imageMap = new HashMap<String, String>();
imageMap.put("1","one.png");
imageMap.put("2","two.png"); // similarly for others

然后您可以使用:String[] nums = label.split(" "); // split on space

最后:x[n].setIcon(new ImageIcon(imageMap.get(nums[i]));

答案 1 :(得分:0)

假设你的意思是JLabel:

String diceResult = jLabelDiceResult.getText();
String[] parsedResults = diceResult.split(" ");
for (int i=0; i<parsedResults.length; i++)
{
    switch (Integer.parseInt(y[i]))
    {
        case 1: jPanel2.add(x[i]);
            break;
        case 2: jPanel2.add(x[i]);
            break;
    }
} 

编辑:编辑jPanel1到jPanel2以响应PM 77-1的评论。