Versions Compared

Key

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

...

  • void left() - flytter tekstinnsettingsposisjonen ett tegn til venstre (tilsvarende bruk av venstre piltast)
  • void right() - flytter tekstinnsettingsposisjonen ett tegn til høyre (tilsvarende bruk av høyre piltast)
  • void insertString(String s) - skyter teksten angitt av argumentet s inn i teksten på tekstinnsettingsposisjonen og forskyver tekstinnsettingsposisjonen mot høyre tilsvarende
  • void deleteLeft() - fjerner tegnet til venstre for tekstinnsettingsposisjonen
  • void deleteRight() - fjerner tegnet til høyre for tekstinnsettingsposisjonen
  • String getText() - Returnerer teksten
  • void setText(String) - oppdaterer teksten til å være den nye teksten
  • int getInsertionIndex - returnerer hvor i teksten redigeringer nå skjer 
  • void setInsertionIndex(int) - oppdaterer hvor i teksten redigeringer skal skje

Del 1 -

...

Tilstandsdiagram

Tegn et tilstandsdiagram for en tenkt bruk av LineEditor-klassen, som dekker bruk av alle metodene.

...

Lag en toString()-metode som viser teksten med tegnet '|' skutt inn på tekstinnsettingsposisjonen. Lag så en main-metode, slik at du kan sjekke at oppførselen stemmer med tilstandsdiagrammet (bruk samme start-tilstand og sekvens av kall).

Del 3 - JavaFX

Kjør den tilhørende JavaFX-applikasjonen (kjør LineEditor.fxml som FXML Application) og observer hva som skjer. Åpne LineEditorController.java og finn ut hvor LineEditor-klassen din blir brukt, og kommenter hva som skjer med den. Det er ikke et krav at du forstår resten av koden i LineEditorController, du skal kun forklare hvordan klassen din blir brukt.

Hjelp til kjøring av JavaFX og generelt om øvinger finner du i Hjelp til øvinger.

 


Testkode for oppgaven finner du her: stateandbehavior/LineEditorTest.java. Original-koden (jextest) finner du her: stateandbehavior/LineEditor.jextest.

...