我有这个简单的类Cat
来描述猫的特征:
public class Cat {
private String name;
private String race;
private String colour;
private int age;
public Cat(String name, String race, String colour, int age) {
this.name=name;
this.race=race;
this.colour=colour;
this.age=age;
}
public String getRace() {
return race;
}
public String getName() {
return name;
}
public String getColour() {
return colour;
}
public int getAge() {
return age;
}
}
我还有一个CatDemo
类,它创建一个Frame类的实例(扩展JFrame),从中可以插入cat的信息:
public class CatDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Frame f = new Frame();
f.setVisible(true);
}
}
当按下OK
时,我必须创建Cat
类的实例(我必须创建一个Cat
对象,并在GUI的空白处插入功能)。
在actionPerformed
方法中创建此实例很容易:
public void actionPerformed(ActionEvent arg0) {
Cat c = new Cat(textField.getText(),textField_1.getText(),
textField_2.getText(),Integer.parseInt(textField_3.getText()));
}
但现在我需要我的Cat对象来制作别的东西。如何使用c
课程中的CatDemo
(哪里有主要课程)?
答案 0 :(得分:2)
您需要扩展Frame。
public class MyFrame extends Frame {
public Cat buildCatFromInputFields() {
...
return cat;
}
}
另外,您需要了解的是,当您进入AWT世界(使用该帧)时,您将离开主线程。 我的意思是,在你调用 f.setVisible(true)之后,你的主方法和主线程结束了! 因此,完全可以在ActionHandler方法中使用cat(例如 actionPerformed())。
答案 1 :(得分:1)
你可以在你的主程序和你的框架中有一个猫的公共静态列表,当用户按下OK时,你可以做类似的事情
CatDemo.cats.Add(new Cat(name, race, color, age));