...
Code Block | ||
---|---|---|
| ||
<?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.text.*?> ... flere <?import ... ?> her ... <?import javafx.scene.control.TextField?> <AnchorPane prefHeight="126.0" prefWidth="222.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="kalkulator.KalkulatorController"> ... alle knappene kommer her ... </AnchorPane> |
Det Det vesentlig her er fx:controller="kalkulator.KalkulatorController", som forteller at KalkulatorController er klassen som skal reagere på og styre knappene og tekstfeltet i KalkulatorApp.fxml.
Steg 2: Koble FXML-fil og Controller sammen
Hvis du har lagt inn fx:controller="kalkulator.KalkulatorController" i KalkulatorApp.fxml, så vil det automagisk bli laget en KalkulatorController når FXML-en lastes inn (av FXMLLoader-en i KalkulatorApp sin start-metode). Det som da gjenstår er å koble KalkulatorController-en til knappene og tekstfeltet, og tenke ut hva som er riktig kalkulatoren-logikk. Kalkulator-logikken er ikke så enkel som en kan tro, så vi tar sammenkoblingen først.
Sammenkobling går to veier:
- Fra Kalkulator.fxml til KalkulatorController: knappene sier fra når de trykkes på
- Fra KalkulatorController til Kalkulator.fxml: teksten i tekstfeltet endres på
I begge tilfeller må en legge til kode i både Kalkulator.fxml og KalkulatorController, men på ulike måter.
Hva har du lært?
- å koble FXML-koden til Java-koden med fx:id- og onAction-attributter
...