2017-05-04 5 views
0

Je voudrais voir la liste des éléments à la même largeur que son titre:Définissez la largeur des éléments de liste dans ChoiceBox JavaFX

enter image description here

Mais l'image réelle est:

enter image description here

Et je n'ai trouvé aucun style de liste d'articles de ChoiceBox dans le générateur de scènes. Existe-t-il un style à ajouter dans le fichier css pour que les éléments aient la même largeur et la même position?

styles actuels:

ChoiceBox { 
    -fx-min-width: 28px; 
    -fx-min-height: 42px; 

    -fx-font-size: 16px; 
    -fx-background-radius: 0; 

    -fx-background-color: #ffffff; 
    -fx-border-width: 1px; 
    -fx-region-background: #000000/
    -fx-mark-color: #757575; 
    -fx-border-color: #C5C5C5; 
} 

déclaration d'élément:

@FXML private ChoiceBox channelPicker; 
    private ObservableList<String> channelItems = FXCollections.observableArrayList("DAC 1", "DAC 2", "DAC 3", "DAC 4"); 

    channelPicker.setItems(channelItems); 
    channelPicker.getSelectionModel().selectFirst(); 

Merci à l'avance!

+0

Vous pouvez jouer avec cbMain.setPrefWidth (60), mais je ne pense pas qu'il réalise vraiment ce que vous êtes à la recherche de. – Sedrick

+2

J'ai trouvé ça. Peut-être qu'il peut aider http://stackoverflow.com/questions/22190370/how-to-set-width-of-drop-down-of-combobox-in-java-fx – Sedrick

+1

Commuté à Combobox et le commentaire ci-dessus aidé. Je vous remercie! – BohdanN

Répondre

0

Vous pouvez ajouter une option menu contextuel à votre choix css boîte comme suit:

.choice-box { 
    -fx-pref-width: 220; 
} 

.choice-box .context-menu { 
    -fx-pref-width: 220; /* Your width for the context menu background shown */ 
}