我做了以下课程,其中包含有关用户的信息 - 姓名、年龄照片。
public class User{
private int age;
private String name;
ImageIcon icon;
JLabel image;
public int getAge() {
return age;
}
public String getName() {
return name;
}
public User(){
this.age = 0;
this.name = "";
}
public User(int age, String name){
this.age = age;
this.name = name;
icon = new ImageIcon(name + ".jpg");
image = new JLabel(icon, JLabel.Center);
}
}
我想在 JPanel 上创建带有用户面孔的图像集。单击他的照片后,我想获取每个用户的详细信息。所以我把这段代码放在主类中:
MouseListener myClick = new MouseListener(){
@Override
public void mouseClicked(MouseEvent e)
{
User selected = new User();
selected.image = (JLabel) e.getComponent();
System.out.println(selected.getAge() + " " + selected.getName());
}
};
和
User[] users = new User[32];
for (int i = 0; i < 32; i++)
{
panel.add(users[i].image);
users[i].image.addMouseListener(myClick);
}
我知道——这是完全错误的。我无法获取有关特定用户的数据,因为我从“选定”中获取值,该值仅包含带有图像的 JLabel(没有年龄或姓名的值)。我应该怎么做才能获得某个用户的姓名和年龄?