我是初学者。我正在做一个孩子的数学游戏。它所要做的只是添加给出的2张图片。问题是,我不知道JTextField如何知道答案是正确的。这是图片。
ImageIcon[] images = new ImageIcon[10];
images[0] = new ImageIcon("0.jpg");
images[1] = new ImageIcon("1.jpg");
images[2] = new ImageIcon("2.jpg");
images[3] = new ImageIcon("3.jpg");
images[4] = new ImageIcon("4.jpg");
images[5] = new ImageIcon("5.jpg");
images[6] = new ImageIcon("6.jpg");
images[7] = new ImageIcon("7.jpg");
images[8] = new ImageIcon("8.jpg");
images[9] = new ImageIcon("9.jpg");
ImageIcon[] image = new ImageIcon[10];
image[0] = new ImageIcon("0.jpg");
image[1] = new ImageIcon("1.jpg");
image[2] = new ImageIcon("2.jpg");
image[3] = new ImageIcon("3.jpg");
image[4] = new ImageIcon("4.jpg");
image[5] = new ImageIcon("5.jpg");
image[6] = new ImageIcon("6.jpg");
image[7] = new ImageIcon("7.jpg");
image[8] = new ImageIcon("8.jpg");
image[9] = new ImageIcon("9.jpg");
int image_number = (int) (Math.random() * 10);
int image_number1 = (int) (Math.random() * 10);
Pic1.setIcon(images[image_number]);
Pic2.setIcon(image[image_number1]);
答案 0 :(得分:2)
我不确定我是否正确理解了您的问题,但您可以将图片的值存储在Image中的某个变量中。
自从我用java编码以来已经过了一段时间,但我记得有些字段可以存储数据。
在此之后,所有JTextField必须做的是获取与当前显示的2个图像相关联的数据,并查看答案是否正确。
另一个不错的选择,可以是将图像命名为等于它们的值,即名为“7.png”的图像实际上是一个显示7的图表,这样你所要做的就是弄清楚显示了2个图像,解析他们的名字,并通过用户输入检查准确性。
<强> 更新 强>
做了一些快速研究 - http://docs.oracle.com/javase/7/docs/api/javax/swing/ImageIcon.html
ImageIcon包含一个字段描述,您可以在创建它的实例时简单地设置该字段。检索当前渲染的那个。
ImageIcon[] images = new ImageIcon[10];
images[0] = new ImageIcon("0.jpg");
images[0].setDescription("0");
//Other code
然后在其他地方的某个地方,点击按钮或JTextField的按键,它可以被检索为:
Integer x=Integer.parseInt(Pic1.getIcon().getDescription());
答案 1 :(得分:0)
您可能会考虑做的一件事是在图像周围创建一个包装类,它不仅维护对图像的引用,还保留图像的值
public class NumberImage {
private Image image;
private int value;
public NumberImage(int value, Image image) {
this.value = value;
this.image = image;
}
public int getValue() {
return value;
}
public Image getImage() {
return image;
}
}
这样,您只需在程序中添加两个值属性即可计算答案
你已经拥有的另一件事是要显示的图像的两个索引,wch是要显示的图像的相同数值......
也就是说,根据您的示例image_number == 7
和image_number1 == 5
,您已经拥有了计算答案所需的信息;)