Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Blok 1 (linksboven) bevat alle elementen die in de pagina gesleept kunnen worden. Dit zijn bijvoorbeeld buttons, grafieken, een menu, tabellen en nog veel meer. Als er iets geslepen wordt in het veld in het midden (de pagina) gebeuren er twee belangrijke dingen. Één is dat er op de achtergrond in het text tabje de FXML code voor het object wordt aangemaakt. Nummer twee is dat er in vak 2 (linksonder) een nieuw object erbij komt. Het object dat net in het vak is gesleept. Vak 2 is dan ook de navigator waar alle objecten die vanuit blok 1 op de pagina gesleept worden in hiërarchische volgorde worden weergeven. Als laatste is er nog vak 3 (rechts). Dit vak bevat alle instellingen voor het object uit vak 1. Selecteer een object op de pagina en alle opties komen omhoog die aangepast kunnen worden aan dat object. Een hoop van deze instellingen kunnen ook in de text tab aangepast worden en dat is vaak ook makkelijker. 

Image Added

In de bovenstaande button worden een paar belangrijke handelingen gedaan. Allereerst wordt er met fx:id een variabele naam gegeven aan de button die in de controller gebruikt kan worden. Later komt hier meer informatie over. Disable zorgt ervoor dat de knop unclickable wordt. mnemonicParsing wordt automatisch aangemaakt bij het gebruik van de Scene Builder en hoeft niet aangepast te worden. onAction is misschien wel een van de belangrijkste tag's op deze pagina. Naast onAction zijn er meerdere soortgelijke tags die onder andere staan in het kopje "Properties inherited from class javafx.scene.Node". Het is verstandig om deze API documentatie van JavaFX ook nog even goed door te lezen aangezien hier erg handige methodes in beschreven staan. De eerder genoemde onAction en andere tags die daarbij horen triggeren een actie als er een bepaalde interactie met de knop wordt gedaan. onAction activeert in dit geval de methode onDeleteButton die in de controller staat als er op de knop geklikt wordt. De hashtag voor de methode is verplicht. Als laatste is er nog de styleClass tag en deze is hetzelfde als bij de borderPane in een eerder voorbeeld. Hiermee kan een styling klasse gebonden worden aan deze button. 

Image Added

In de controller zijn er een hoop van deze @FXML tags te vinden. Deze binden het FXML object aan een Java object waar de controller gebruik van kan maken. JavaFX kan deze zelf genereren als er een nieuwe fx:id gegeven wordt aan bijvoorbeeld een button door over het gele lijntje dat verschijnt te klikken en op generate in controller te klikken. Ditzelfde kan ook voor methodes en is ook aangeraden aangezien verschillende trigger tags verschillende parameters hebben. 

Dit waren zo een beetje de belangrijkste dingen voor het gebruik van JavaFX. Als laatste is er nog de stylesheet maar deze verandert niet heel veel van normaal CSS. Het is wel belangrijk dat de gebruiker een value assigned aan een CSS functie die begint met -fx. Dit zijn de ingebouwde functies van JavaFX en andere functies die niet beginnen met -fx werken af en toe, maar zijn niet heel betrouwbaar. 

Packaging via Maven

Klukkluk is een maven project, hierdoor kan de applicatie gemakkelijk gepackaged worden als een enkele .jar. Dit gebeurt door middel van de Maven Shade plugin:

...