我有以下主要课程:
public class JavaFXApplication4 extends Application {
@Override
public void start(Stage primaryStage) {
Button btn = new Button();
btn.setText("Add to the list");
TextArea peopleList = new TextArea();
String name = "name";
String surname = "surname";
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Person p = new Person(name, surname);
}
});
StackPane root = new StackPane();
root.getChildren().addAll(btn, peopleList);
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("People list");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
我希望类Person
的构造函数将名称和姓氏添加到主类的TextArea peopleList
中。
public class Person {
public String name, surname;
public Person(String n, String s){
}
}
如何从其他类访问主类的元素?
答案 0 :(得分:0)
将这些变量设为实例变量或类变量,因为只能在声明它们的函数内访问局部变量。
如果你使用实例变量将它们设为私有,并使用getter和setter来访问它们
private TextArea peopleList = new TextArea();
public TextArea getPeopleList(){ // getter to access
return peopleList;
}
public void setPeopleList(TextArea peopleList){
this.peopleList=peopleList;
}
将MainClass的对象放在其他类中,并使用getter和setter来使用它们。
或者在Main类中创建静态/类变量,因此可以使用Main Class的名称进行接收。
static TextArea peopleList = new TextArea();
和其他课程
MainClass.peopleList