gpt4 book ai didi

JavaFX 动态添加元素到 GridPane

转载 作者:行者123 更新时间:2023-12-01 13:18:04 30 4
gpt4 key购买 nike

我对 JavaFX 比较陌生,并且我一直很困惑为什么下面的代码没有产生添加到网格的标签的预期结果。

我想做的是运行一个测试,将 JavaFX 标签添加到我的 FXML GridPane 中,因为我想在不久的将来构造一个方法,该方法将允许用户选择一个文件,然后生成一个标签当用户选择一个文件并将该标签添加到 GridPane 时。

提前致谢,

代码:

private Label label1;

@FXML
private GridPane gridPane;

@FXML
public void handle() {

FileChooser fileChooser = new FileChooser();
fileChooser.setTitle("Select File");
fileChooser.getExtensionFilters().addAll(
new FileChooser.ExtensionFilter("Video Files", "*.mp4", "*.avi"),
new FileChooser.ExtensionFilter("Audio Files", "*.wav", "*.mp3", "*.aac"),
new FileChooser.ExtensionFilter("All Files", "*.*"));
//Show open file dialog
File file = fileChooser.showOpenDialog(null);

try {
System.out.println(file.getPath());
System.out.println(file.getName());
label1.setText(file.getName());
gridPane.add(label1, 1, 1);
} catch (Exception e) {
}

}

FXML 代码是一个标准文件,具有已定义的 GridPane 和上面列出的 fx:id。

最佳答案

您没有在任何地方初始化标签,因此它为空。由于您正在压缩异常,因此您看不到调用 label1.setText(...) 时生成的 NullPointerException

关于JavaFX 动态添加元素到 GridPane,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307221/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com