Я создал массив Man:
public main blah blah{
man = man[10];
}
Человек имеет такие поля, как
Man.name;
Man.age;
...
В классе Man есть метод OnClick, который открывает новое окно с указанием его имени и возраста.
public Man(){
Onclick(){
InfoWindow showinfo = new InfoWindow(this.getid()) // If this is Man[2] the id would be 2.
}
А в классе InfoWindow:
public class InfoWindow extends JFrame{
public InfoWindow(Man selectedMan){
setSize(300, 200);
JLabel info = new JLabel(selectedMan.getname());
add(info);
info.setVisible(true);
}
}
По сути, это хочу выполнить (показать в псевдокоде), передать Man [i] в класс, который при создании окна отображает информацию, связанную с этим человеком. Вот как я на самом деле пытаюсь это реализовать, но это не работает, я уверен, что в какой-то части от меня есть неправильное представление.
Любая помощь?
Фактический код:
***MAN CLASS***
private class MouseListenerHandler extends MouseAdapter {
public void mousePressed(MouseEvent e) {
InfoWindow manShowInfo = new InfoWindow(this); Not Working. Getting "constructor not defined"
unitShowInfo.setVisible(true);
}
}
*InfoWindow class*
public class InfoWindow extends JFrame {
public InfoWindow(Man selectedMan){
setSize(300, 200);
JLabel label = new JLabel(selectedMan.getName());
add(label);
label.setVisible(true);
}
And the Man[] is created in the main class.
}