Loading ...

Usare le ToolBar in JavaFX

Usare le ToolBar in JavaFX

Le ToolBar, sono dei componenti che possono essere molto utili per creare dei menu con le opzioni più usate.

Usarle in JavaFX, attraverso FXML, è molto semplice.

Oggi vi posto un esempio di ToolBar sotto alla "classica" MenuBar.

Conterrà un solo Button, ma con testo e immagine.

Usando Maven, l'immagine è collocata dentro alla directory resources standard.

Questo il codice:

<BorderPane fx:id="mainPane" xmlns="http://javafx.com/javafx/8.0.121" 
            xmlns:fx="http://javafx.com/fxml/1"
            fx:controller="com.mp.photogallery.MainController">
    <top>
        <VBox>
            <children>
                <MenuBar fx:id="menuBar">
                    <menus>
                        <Menu text="File">
                            <items>
                                <MenuItem accelerator="Ctrl+O" onAction="#openDirectory"
                                          text="Open phpto directory"/>
                                <MenuItem accelerator="Ctrl+P" onAction="#printImages" 
                                          text="Print images"/>
                                <SeparatorMenuItem/>
                                <MenuItem accelerator="Ctrl+Q" onAction="#quit" 
                                          text="Quit"/>
                            </items>
                        </Menu>
                    </menus>
                </MenuBar>
            </children>
            <children>
                <ToolBar>
                    <Region styleClass="spacer"/>
                    <HBox styleClass="segmented-button-bar">
                        <Button text="Tasks" onAction="#test">
                            <graphic>
                                <ImageView fitHeight="30.0" fitWidth="30.0" 
								           pickOnBounds="true" 
                                           preserveRatio="true">
                                    <image>
                                        <Image url="puffo.png"/>
                                    </image>
                                </ImageView>
                            </graphic>
                        </Button>
                    </HBox>
                </ToolBar>
            </children>
        </VBox>
    </top>
............
</BorderPane>

Enjoy!