抱歉不够清楚。英语是我的第二语言。
我在这里做了一个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在第一个出现时打印然后在第二个出现时成像二等。
答案 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的评论。