ユーザーに関する情報を含む次のクラスを作成しました-名前、年齢の写真。
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のみを含む「選択済み」から値を取得するため、特定のユーザーに関するデータを取得できません(年齢または名前の値はありません)。特定のユーザーの名前と年齢を取得するにはどうすればよいですか?