使用数组作为类的参数

时间:2010-04-18 01:44:33

标签: java arrays parameters

我创建了一个数组Man:

public main blah blah{
man = man[10];
}

Man有

等字段
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.
}

1 个答案:

答案 0 :(得分:4)

试试这个:

InfoWindow manShowInfo = new InfoWindow(Man.this);

因为事件监听器本身就是一个对象实例,所以普通的this引用了监听器。执行Man.this会提取封闭的Man个实例以传递到InfoWindow