【问题标题】:Using an array as parameter to a class使用数组作为类的参数
【发布时间】:2010-04-18 01:44:32
【问题描述】:

我创建了一个数组 Man:

公共主要等等等等{ 人=人[10]; }

Man 有诸如

之类的字段 人名; 管理; ...

在 Man 类中,有一个 OnClick 方法可以打开一个显示其名称和年龄的新窗口。

公共人(){ 点击(){ InfoWindow showinfo = new InfoWindow(this.getid()) // 如果这是 Man[2],则 id 为 2。 }

在 InfoWindow 类中:

公共类 InfoWindow 扩展 JFrame{ 公共信息窗口(人选人){ 设置大小(300、200); JLabel 信息 = 新 JLabel(selectedMan.getname()); 添加(信息); info.setVisible(true); } }

基本上,这是想要完成(以伪代码显示),将 Man[i] 传递给一个类,当创建一个窗口时,该类会显示与该人相关的信息。这就是我实际上试图实现它的方式,但它不起作用,我很确定我在某些方面存在误解。

有什么帮助吗?

实际代码:

***男人级*** 私有类 MouseListenerHandler 扩展 MouseAdapter { 公共无效鼠标按下(鼠标事件e){ InfoWindow manShowInfo = new InfoWindow(this);不工作。获取“未定义构造函数” unitShowInfo.setVisible(true); } } *信息窗口类* 公共类 InfoWindow 扩展 JFrame { 公共信息窗口(人选人){ 设置大小(300、200); JLabel 标签 = 新 JLabel(selectedMan.getName()); 添加(标签); 标签.setVisible(true); } Man[] 是在主类中创建的。 }

【问题讨论】:

  • 症状描述会有所帮助。不是在编译吗?它是否抛出异常(哪个异常)?它只是默默地失败吗?还有什么?

标签: java arrays parameters


【解决方案1】:

试试这个:

InfoWindow manShowInfo = new InfoWindow(Man.this);

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

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
  • 1970-01-01
  • 2016-09-28
  • 1970-01-01
相关资源
最近更新 更多