嗨第一次来这里但是这里:
我有一个JavaFX应用程序,它动态地更改FXML UI标签,并从Player类中提取数据.
有问题的两个类是Player.java和InterfaceHandler.java.
播放器类存储播放器详细信息,我想将详细信息传递给Interface类,后者在标签上设置文本.
作为测试,我的FXML UI只有一个按钮和两个标签.
如果它点击按钮,它会调用handleButton它设置locationLabel为"Town" 的方法.
但是,如果我locationLabel()在我的Player类中调用该方法,则在调用时会出现NullPointerException nameLabel.setText(name).通过调试,我发现Interface类中的名称字符串应该是"Dan".
有人可以帮忙吗?
主要课程:
public class Main extends Application {
public void start(final Stage mainStage) throws Exception {
Parent root = FXMLLoader.load(getClass().getResource("MainScreen.fxml"));
Scene scene = new Scene(root);
mainStage.setTitle("Main Screen");
mainStage.setScene(scene);
mainStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Run Code Online (Sandbox Code Playgroud)
玩家类:
public class Player{
InterfaceHandler ui = new InterfaceHandler();
public void setNameLabel() {
String name = "Dan";
ui.setName(name);
} …Run Code Online (Sandbox Code Playgroud)