我无法填充从Scene Builder创建的JavaFX ComboBox。虽然我已经搜索过,但我无法找到解决此错误的方法。
以下示例均无效。
@FXML ComboBox ComboStatus;
@Override
public void initialize(URL url, ResourceBundle rbs) {
ComboStatus.getItems().addAll("Single","Married");
}
ObservableList<String> statusList = FXCollections.
observableArrayList(
"Single",
"Married"
);
@FXML ComboBox<String> ComboStatus;
@Override
public void initialize(URL url, ResourceBundle rbs) {
// TODO Auto-generated method stub
ComboStatus.setItems(statusList);
}
帮助将不胜感激。
答案 0 :(得分:0)
以下是一个有效的代码示例,希望有所帮助:
扩展应用程序的类:
public class Test extends Application{
public static void main(String[] args) {
Application.launch(Test.class, args);
}
@Override
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new
FXMLLoader(Test.class.getResource("/test/MyExample.fxml"));
AnchorPane pane = (AnchorPane)loader.load();
Scene scene = new Scene(pane);
primaryStage.setScene(scene);
primaryStage.show();
}
}
控制器类:
public class MyExampleController implements Initializable {
//I think the problem with your code was that you did not use
//ComboBox<String>
@FXML
private ComboBox<String> cbxStatus;
@Override
public void initialize(URL url, ResourceBundle rb) {
cbxStatus.getItems().addAll("Single", "Married");
//you can make it so that an item is already selected
//instead of no item being selected until the user clicks on the box
//to select
cbxStatus.getSelectionModel().select(0);
}
}