我正在尝试填充JavaFx Choicebox,但它不显示文本,但它确实包含正确的数据。例如,如果我尝试从中检索数据并将其打印出来,则表明数据位于Choicebox中。
@FXML
private ChoiceBox<String> shapes;
@Override
public void start(Stage primaryStage) throws Exception {
FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/canvas.fxml"));
Parent root = loader.load();
Method[] m = AbstractFactory.class.getDeclaredMethods();
ArrayList<String> shapeArrayList = new ArrayList<>();
for(Method method : m){
shapeArrayList.add(method.getName().substring(3));
}
shapes = new ChoiceBox<>();
shapes.getItems().clear();
shapes.getItems().addAll(FXCollections.observableArrayList(shapeArrayList));
shapes.setValue("Test");
primaryStage.setTitle("Paint!");
primaryStage.setScene(new Scene(root));
primaryStage.setResizable(false);
primaryStage.show();
}
FXML:
<ChoiceBox fx:id="shapes" layoutX="1.0" layoutY="174.0" prefWidth="150.0" AnchorPane.bottomAnchor="444.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="174.0" />
当我启动我的应用程序时,Choicebox为空白,点击时没有任何反应。