[英]Create an Object from a GUI - Java
我有這個簡單的類Cat
來描述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對象來制作別的東西。 我怎樣才能使用CatDemo
類中的c
(哪里有main)?
你需要擴展框架。
public class MyFrame extends Frame {
public Cat buildCatFromInputFields() {
...
return cat;
}
}
您還需要了解的是,當您進入AWT世界(使用該幀)時,您將離開主線程。 我的意思是,在你調用f.setVisible(true)之后 ,你的main方法和主線程結束了! 因此,在ActionHandler方法中使用cat(如actionPerformed() )是完全可取的。
您可以在主程序和框架中擁有一個公共靜態貓列表,當用戶按下OK時,您可以執行類似的操作
CatDemo.cats.Add(new Cat(name, race, color, age));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.