我在JavaFx应用程序中有一个名为choiceBoxPizza的ChoiceBox。
在我的控制器中,我声明它:
@FXML
private ChoiceBox choiceBoxPizza;
我包含一些测试数据的函数是:
private void fillChoiceBoxPizza(){
try {
List<String> list = new ArrayList<String>();
list.add("Pizza A");
list.add("Pizza B");
list.add("Pizza C");
ObservableList obList = FXCollections.observableList(list);
choiceBoxPizza = new ChoiceBox<>(obList);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println(e.toString());
}
}
所以应该用list
填充。奇怪的是,我没有得到任何异常,并且选择框在调用方法后仍然为空。
我的逻辑有错误吗?
替换此行:
choiceBoxPizza = new ChoiceBox<>(obList);
有了这个,它应该可以工作:
choiceBoxPizza.setItems(obList)
您不应该初始化已在<代码>中声明的元素。fxml文件。下面是关于JavaFX中初始化过程如何工作的更广泛的解释。
希望这有帮助
当我运行我的应用程序时,我有“应用程序启动方法[警告]java.lang.reflect.InvocationTargetException异常”。我尝试使用fxml路径但仍然不起作用。当使用try/catch时,我有“位置未设置错误”。 我还得到了“未能在项目Test-generator-Maven上执行目标org.codehaus.mojo:exec-maven-plugin:1.2.1:ja
问题内容: 当选择menuItem时,尝试关闭当前场景并打开另一个场景时出现问题。我的主要阶段编码如下: 执行该程序后,它将转到cartHomePage.fxml。选择菜单项后,我可以从那里选择创建产品或创建类别。这是我的动作事件: 但是,我只能切换一次舞台。例如,我的默认页面是cartHomePage.fxml。运行程序时,首先要创建产品阶段。在那之后,我不能再去任何地方了。错误消息是: 我关上
我的项目在eclipse中正常运行,但当我创建该项目的jar文件并试图通过cmd运行它时,它显示“Location is not set”错误。 我的项目结构是: 方法是(在eclipse中运行):
问题内容: 我正在尝试使用JavaFX中的WebView入门,但是当尝试打开WebView时,我收到以下所示的错误,我该如何解决此问题? 问题答案: 尝试运行WebView时遇到任何错误时,请确保您的VM选项包含模块javafx.web。 虚拟机选项: 在IntelliJ中,您可以通过转到IDE右上方的“编辑配置”按钮来访问VM选项。
我想要一个堆栈窗格来模拟FullHD显示,即1920x1080。 下面是创建堆栈窗格并处理它的代码: DisplayPane构造函数方法 ControlButtonPane构造函数类方法: 任何帮助都会很好。
问题内容: 有没有一种方法可以填充JavaFX 或枚举的所有枚举? 这是我尝试的: 在另一个类中,我试图填充一个: 但是我得到一个错误: 我显然也遇到了同样的问题。 问题答案: 如果setItems需要一个ObservableList,则必须给它一个而不是一个数组。 试试这个: 编辑:James_D(请参阅注释)的解决方案是首选的解决方案: