我在同一个包中有两个类。该包称为main。 Main包含两个类,一个Main类和一个Display类。创建显示类是为了显示带有文本框和按钮的GUI。我给按钮一个监听器,当用户点击其中一个按钮时,它会触发。在主类中是我正在存储的对象向量,需要在显示类的文本框中一次显示。
我的问题是:鼠标点击动作是否可以调用主类中收集所需信息的方法,并将其传递回显示类中的方法以修改这些文本框>我需要将我的两个班组合成一个吗?我怎么在课堂上做什么?
从测试中我已经使主类扩展了显示类。我可以从这里启动显示类,但是当我尝试从main调用显示方法时它什么也没做。如果我尝试从显示类调用main方法,它似乎也什么都不做。
答案 0 :(得分:2)
如果你想让你的机械师修理你的车(通过启动,诊断问题,打开引擎盖等),你可以把车交给机修工,不是吗?
在Java中也是如此。如果您希望Display对象(机制)访问Main对象(汽车)中可用的信息,您需要将Main对象提供给Display:
Main main = new Main(); // main contains data
Display display = new Display(main) // Display is constructed, and is given the main object
显示屏中的:
public void someButtonClicked() {
String someInformation = this.main.getSomeInformation();
this.someTextField.setText(someInformation);
}