Versions Compared

Key

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

...

I KalkulatorController.java:

Code Block
languagejava
public class KalkulatorController {
 
	... annen kode ...
 
	@FXML 
	void handleDigitButton(ActionEvent event) {
		// denne setningen skriver ut hvilken knapp som kalte metoden
		System.out.println(event.getSource());
		... her er kode for tall-knappene ...
	}
}

@FXML brukes for å gi FXML-en lov til å kalle metoden.

void betyr at metoden ikke skal returnere noen verdi.

event-parameteret (av typen ActionEvent) inneholder informasjon om hendelsen. F.eks. kan en hente ut hvilken knapp som ble trykket med event.getSource(). Hvis det ikke er viktig å vite hvilken knapp som ble trykket (f.eks. hvis den bare kalles av én knapp), så trenger du ikke ha med parameteret i metoden.

I KalkulatorApp.fxml

Code Block
languagejavafx
<?xml version="1.0" encoding="UTF-8"?>

<AnchorPane ...	fx:controller="kalkulator.KalkulatorController">
      <Button text="1" onAction="#handleDigitButton" ... />
      <Button text="2" onAction="#handleDigitButton" ... />
 
	... de andre knappene kommer her ...
 
</AnchorPane>

Både 1- og 2-knappen har onAction="#handleDigitButton", så for begge disse vil handleDigitButton blir kalt når de trykkes på.

Hvis du legger inn en setning som skriver ut noe, f.eks. System.out.println( 

Fra Controller til FXML

Fra Kalkulator.fxml til KalkulatorController

...