У меня есть старый swing Jcombobox, который я использовал для этого.Перемещение с swing jCombobox на javaFX ComboBox
baudRatecomboBox = new JComboBox(baudRates);
baudRatecomboBox.setSelectedIndex(1);
GridBagConstraints gbc_baudRateComboBox = new GridBagConstraints();
gbc_baudRateComboBox.fill = GridBagConstraints.HORIZONTAL;
gbc_baudRateComboBox.insets = new Insets(0, 0, 5, 5);
gbc_baudRateComboBox.gridx = 1;
gbc_baudRateComboBox.gridy = 3;
getContentPane().add(baudRatecomboBox, gbc_baudRateComboBox);
String[] baudRates = { "2400", "4800", "9600", "14400", "19200", "38400", "56000", "115200" };
Я переписываю свое приложение с использованием JavaFX, и я не могу получить comboBox для заполнения.
Это мой FXML
<ComboBox id="baudRatecomboBox" fx:id="baudRateComboBox" prefHeight="30.0" prefWidth="87.0" promptText="Baud" />
и это мой Java
@FXML
ComboBox baudRateComboBox;
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("LaserControllerUI.fxml"));
Scene scene = new Scene(root);
primaryStage.setTitle("Laser Controller");
primaryStage.setScene(scene);
primaryStage.show();
scene.getStylesheets().add
(LaserControllerUI.class.getResource("LaserControllerUI.css").toExternalForm());
ComboBox<String> baudRateComboBox = new ComboBox();
baudRateComboBox.getItems().addAll(baudRates);
baudRateComboBox.setVisible(true);
Почему разве мой ComboBox заселение?
Вы должны использовать «ObservableList» с JavaFX. Взгляните на то, как [Comboboxes] (http://docs.oracle.com/javafx/2/ui_controls/combo-box.htm) необходимо заполнить –
@NicoT Используется «ObservableList»: тот, который возвращается 'ComboBox .getItems() ', что также возможно. – fabian