我正在编写一个带有组合框的程序,您可以在其中选择不同的教授。做出选择后,您单击“开始”按钮并转到新场景。但是,.getSelectedItem()方法无法编译。如果我使用.getSelectionModel()。getSelectedItem(),它可以运行,但不能正常工作。
我也尝试过.getItem()和.getValue()方法。我曾经把代码全部放在一个方法中,但是我需要传递它,所以我创建了一个新方法,该方法从事件中被调用。我还尝试过使用“ GO”按钮从方法中调用该方法。
这是获得选择的两种方法:
public void InstructorSelected(ActionEvent event)
{
String instructorSelected = determineSelection();
System.out.println(instructorSelected);
}
public String determineSelection()
{
String selection = combobox.getSelectionModel().getSelectedItem();
return selection;
}
这是当您单击第二个“ GO”按钮时加载第三个场景的事件方法:
public void goToCourseViewButtonPushed(ActionEvent event) throws IOException
{
Parent CourseViewParent =
FXMLLoader.load(getClass().getResource("CourseView.fxml"));
Scene CourseViewScene = new Scene (CourseViewParent);
Stage CourseWindow = (Stage)
((Node)event.getSource()).getScene().getWindow();
CourseWindow.setScene(CourseViewScene);
CourseWindow.show();
}
我需要获取选择并将其存储为变量,因为然后我需要使用它来从数据库获取数据,但仅从该教授那里获取数据。 如果使用此方法,则在尝试加载新场景时程序将卡住。 但是,如果我只是传递一个String而不是从组合框中获取选择,那么它可以正常工作,因此问题不在于加载其他场景。