Acordeão em controles JavaFX

A acordeão em JavaFX é uma pilha de painéis intitulados. Apenas um dos painéis intitulados no acordeão pode ser aberto a qualquer momento. Portanto, se um dos painéis intitulados no acordeão é aberto e você abrir um diferente, aquele que foi aberto fecha automaticamente.

Esta figura mostra um painel de acordeão que contém três título panes- mesmo painel de acordeão é mostrada três vezes na figura, cada vez com um diferente de entre os painéis intitulado abertos.

Um controle de acordeão em JavaFX.
Um controle de acordeão em JavaFX.

Para criar um controle de acordeão, você primeiro cria os painéis intitulados separados que compõem o acordeão. Em seguida, crie o acordeão usando o construtor padrão e adicionar os painéis intitulados usando o getPanes (). addAll método. O exemplo de código a seguir mostra como criar o acordeão mostrado na figura:

// Criar a alternância tamanho paneRadioButton rbSmall = new RadioButton ( "Small") - RadioButton rbMedium = new RadioButton ( "Medium") - RadioButton rbLarge = new RadioButton ( "Large") - ToggleGroup sizeGroup = new ToggleGroup () - sizeGroup.getToggles () .addAll (rbSmall, rbMedium, rbLarge) -rbMedium.setSelected (true) -VBox sizeBox = new VBox (10) -sizeBox.setPadding (novas inserções (10)) -. sizeBox.getChildren () addAll (rbSmall, rbMedium , rbLarge) -TitledPane sizeTpane = new TitledPane ( "Tamanho", sizeBox) - // Criar a alternância estilo paneRadioButton rbThin = new RadioButton ( "crosta finas") - RadioButton rbThick = new RadioButton ( "crosta grossa") - ToggleGroup styleGroup = nova ToggleGroup () -. styleGroup.getToggles () addAll (rbThin, rbThick) -rbThin.setSelected (true) -VBox styleBox = new VBox (10) -styleBox.setPadding (novas inserções (10)) - styleBox.getChildren () .addAll (rbThin, rbThick) -TitledPane styleTpane = new TitledPane ( "Style", styleBox) - // Criar as coberturas de alternância paneCheckBox cbPepperoni = new CheckBox ( "Pepperoni") - CheckBox cbSausage = new CheckBox ( "salsicha") - CheckBox cbOlives = new CheckBox ( "Oliveiras") - CheckBox cbMushrooms = new CheckBox ( "Mushrooms") - cbAnchovies CheckBox = nova caixa de seleção ( "Anchovas") - VBox toppingsBox = new VBox (10) -toppingsBox.setPadding (novas inserções (10) ) -toppingsBox.getChildren () addAll (cbPepperoni, cbSausage, cbOlives, cbMushrooms, cbAnchovies) -TitledPane toppingsTpane = new TitledPane ( "coberturas", toppingsBox) -. // Criar o acc acordeão controlAccordion = new acordeão () - acc.getPanes () .addAll (sizeTpane, styleTpane, toppingsTpane) -

menu