栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

label.setText NullPointerException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

label.setText NullPointerException

这是因为您没有正确地

Labels
从FXML文件中注入您的内容。

注释您的

Label
var。带有
FXML
注释:

public class InterfaceHandler implements Initializable {    @FXML    public Label nameLabel;    @FXML    public Label locationLabel;    public void handleButton(ActionEvent event) throws IOException {     locationLabel.setText("Town");    }    public void setName(String name){    nameLabel.setText(name);    }    }

另外,InterfaceHandler是您

fx:controller
在FXML中引用的控制器。这指示FXMLLoader在加载程序加载其FXML时创建InterfaceHandler的新实例。因此,不要在Player类中创建新的InterfaceHandler,而应使InterfaceHandler成为Player的构造函数参数,并使用loader.getController从FXMLLoader中获取InterfaceHandler控制器实例。

FXMLLoader loader = new FXMLLoader();loader.setLocation(getClass().getResource("MainScreen.fxml"));Parent root = (Parent)loader.load();Player player = new Player(loader.getController());Scene scene = new Scene(root);. . .public class Player {  private InterfaceHandler ui;  public Player(InterfaceHandler ui) {    this.ui = ui;  }  public void setNameLabel() {    String name = "Dan";    ui.setName(name);  }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号