Versions Compared

Key

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

...

JavaFX og det tilhørende filformatet FXML og verktøyet SceneBuilder, gjør det relativt enkelt å lage fasaden til app-er. Med Eclipse-tillegget e(fx)clipse så kan du faktisk lage fasaden uten programmering, og så trinnvis gjøre app-en funksjonell ved å koble elementene i fasaden, så som knapper og tekstfelt, til selve (koden for) app-logikken. Her viser vi hvordan dette gjøres for en enkel app basert på Counter-logikken i Tilstand og oppførsel.

Counter-klassen implementerer en enkel teller, som får fra 1 til en angitt øvre grense. Koden og en enkel forklaring er gitt under:

Counter-klassenForklaring
Code Block
languagejava
public class Counter {
	int end;
	int counter = 0;


	Counter(int end) {
		this.end = end;
	}

	int getCounter() {
		return counter;
	}

	void count() {
		if (counter < end) {
			counter = counter + 1;
		}
	}
 }

Counter-klassen deklarerer felt for den øvre grensa og telleren.

Den øvre grensa initialiseres av konstruktøren.

Telleren kan lese (utenifra) med getCounter()-metoden.

count()-metoden brukes til å telle opp ett trinn, men dette skjer bare hvis den øvre grensa ikke alllerede er nådd.

Figuren under viser hva som skjer når en teller fra 0 og oppover og den øvre grensa er 3.

PlantUML Macro
object "~#1: Counter" as counter0 {
	end = 3
	counter = 0
}
object "~#1: Counter" as counter1 {
	end = 3
	counter = 1
}
counter0 -> counter1: count()
 
object "~#1: Counter" as counter2 {
	end = 3
	counter = 2
}
counter1 -> counter2: count()

object "~#1: Counter" as counter3 {
	end = 3
	counter = 3
}
counter2 -> counter3: count()
counter3 -> counter3: count()