java - Java FXML 将内容动态加载到多个不同的选项卡上
问题描述
我有多个列表,我想循环并在各自的选项卡中将它们的所有项目作为按钮返回,每个都有一个动作。
我尝试了以下方法:
@FXML
private Tab aTab;
然后按下按钮:
StackPane tab = new StackPane();
tab.setStyle("-fx-background-color: Green");
Label text = new Label("titleLabel");
text.setStyle("-fx-font-size: 25px;");
tab.getChildren().add(text);
aTab.setContent(tab);
直接的问题是我得到了异常
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: java.lang.reflect.InvocationTargetException...
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
... 52 more
Caused by: java.lang.NullPointerException
at (the method I'm calling aTab.setContent(tab) in
...
更隐蔽的问题是,随着标签数量的增加,我的代码会变得越来越臃肿。
理想情况下,有一种方法可以使用通用选项卡 xml 文件在每个选项卡上显示内容,但我无法将这样的东西放在一起。
如何才能做到这一点?这可以做到吗?
解决方案
推荐阅读
- reactjs - 为什么在状态 React Redux 工具包中未定义数组
- flutter - 如何使用从数组传递的不同数据多次自动创建小部件?
- javascript - 未捕获的类型错误:无法将属性“类型”设置为 null
- python - 如何用 ForeignKey 对字段求和?
- ios - 如何通过以编程方式将 rootVC (tabViewController) 从子选项卡设置为未实例化的不同 VC 来放松
- vue.js - Vue - 无法在响应中设置未定义的属性
- java - 如何检查 App 是否关闭或 Activity 是否关闭?
- c++ - 重载元组索引运算符 - C++
- c# - Visual Studio - 找出实际运行的代码
- swift - 访问 Mac OS NSSpeechSynthesizer 库中的语音属性