2017-10-04 52 views
8

Ta wersja ma tę implementację: SceneBuilder:Jak włączyć listę rozwijaną z góry ustalonych elementów, aby dodać ją do formantu niestandardowego w SceneBuilder?

Możesz dodać do panelu listę przycisków.

enter image description here

szukam to zrobić dla mojego niestandardowego formantu w scenebuilder. Nie mogłem znaleźć nic oczywistego w konstruktorze dla DialogPane, który by to działał.

Czy to jest możliwe?

private final ObservableList<ButtonType> buttons = FXCollections.observableArrayList(); 

public DialogPane() { 
    getStyleClass().add("dialog-pane"); 

    headerTextPanel = new GridPane(); 
    getChildren().add(headerTextPanel); 

    graphicContainer = new StackPane(); 

    contentLabel = createContentLabel(""); 
    getChildren().add(contentLabel); 

    buttonBar = createButtonBar(); 
    if (buttonBar != null) { 
     getChildren().add(buttonBar); 
    } 
    buttons.addListener((ListChangeListener<ButtonType>) c -> { 
     while (c.next()) { 
      if (c.wasRemoved()) { 
       for (ButtonType cmd : c.getRemoved()) { 
        buttonNodes.remove(cmd); 
       } 
      } 
      if (c.wasAdded()) { 
       for (ButtonType cmd : c.getAddedSubList()) { 
        if (! buttonNodes.containsKey(cmd)) { 
         buttonNodes.put(cmd, createButton(cmd)); 
        } 
       } 
      } 
     } 
    }); 
} 
+2

Interesujące ... Miejscem, w którym należy sprawdzić, jak to działa, jest prawdopodobnie kod źródłowy do [Scene Builder] (https://bitbucket.org/gluon-oss/scenebuilder/src). Musisz dowiedzieć się, czy po prostu traktuje tę właściwość w 'DialogPane' jako specjalny przypadek (w którym prawdopodobnie masz pecha), czy też szuka czegoś konkretnego (właściwość tylko do odczytu, która ma typ, który ma pewne stałe określony tego samego typu lub coś takiego ...). –

Odpowiedz

1

Należy starać klikając w bibliotece-panelu na ustawieniach-ikony w prawym górnym rogu, a następnie kliknij Costum Library Folder -> w Eksploratorze. Aby uzyskać więcej informacji, zobacz .

+0

Ta kontrolka nie jest niestandardowa. – jpell