PowerPointi esitlus

Seotud dokumendid
PowerPointi esitlus

Tallinna Ülikool Digitehnoloogiate instituut JavaFX rakenduste kujundamine CSS abil Seminaritöö Autor: Hendrik Spiegelberg Juhendaja: Jaagup Kippar Au

Outlookist dokumendi registreerimine Plugina seadistamine Dokumendi registreerimine Outlookist Vastusdokumendi registreerimine Outlookist Outlooki plu

Funktsionaalne Programmeerimine

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

ArcGIS Online Konto loomine Veebikaardi loomine Rakenduste tegemine - esitlus

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

loeng2

Programmi AnimatorDV Simple+ lühike kasutajajuhend

(loeng3-ohtlikud_koodiloigud)

IFI6083_Algoritmid_ja_andmestruktuurid_IF_3

Microsoft Word - 56ylesanded1415_lõppvoor

Projekt: Sööbik ja Pisik Tartu Lasteaed Piilupesa Koostajad: Merelle Uusrand ja Ülle Rahv Sihtgrupp: 4 5aastased lapsed Periood: veebruar märts 2017 P

Õppevideote rakendamine programmeerimise kursustel

VASTSELIINA GÜMNAASIUMI HOOLEKOGU KOOSOLEK Protokoll nr Koosoleku toimumise aeg: 5. detsember 2016, algus kell 17.15, lõpp Kooso

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Microsoft Word - EHR.docx

Pythoni Turtle moodul ja Scratchi värvilisem pool Plaan Isikukoodi kontrollnumbri leidmine vaatame üle lahenduse kontrollnumbri leimiseks. Pythoni joo

Funktsionaalne Programmeerimine

Scala ülevaade 1 Meetodid, muutujad ja väärtused. Süntaks 2 Lihtsad tüübid ja väärtused. 3 OOP, case-klassid ja mustrisobitus. 4 Puhta Scala väärtusta

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug

Pintsli otsade juurde tegemine Esiteks Looge pilt suurusega 64x64 ja tema taustaks olgu läbipaistev kiht (Transparent). Teiseks Minge kihtide (Layers)

Õppimine Anne Villems, Margus Niitsoo ja Konstantin Tretjakov

Valik harjutusi eesti keele postkaartide jaoks Tervitused ja hüvastijätud Grupp töötab paarides, harjutab fraase ja täiendab kaardil olevat veel omapo

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

Slide 1

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019

Microsoft Word - Referaat.docx

Neurovõrgud. Praktikum aprill a. 1 Stohhastilised võrgud Selles praktikumis vaatleme põhilisi stohhastilisi võrke ning nende rakendust k

Pealkiri

Pealkiri

Kiekim mees kirjeldus.docx

Vana talumaja väärtustest taastaja pilgu läbi

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööa

Eesti keele võõrkeelena olümpiaadi lõppvoor 2013 Kõik ülesanded on siin lühendatult. Valikus on küsimusi mõlema vanuserühma töödest. Ülesanne 1. Kirju

Loeng03

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta

Algoritmid ja andmestruktuurid

FRESENIUS ÕPPEKESKUS KIIRJUHEND

sojateadlane_4.indd

MTAT Operatsioonisüsteemid - Turvalisus

G OSA A VARIANT RESPONDENDILE ISE TÄITMISEKS

(Microsoft Word - T\366\366leht m\365isaprogramm 4-6 kl tr\374kkimiseks.doc)

E-arvete juhend

KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V)

Vabavara programmi ACDChemSketch kasutamine struktuurivalemite koostamiseks

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian

Ülesanne #5: Käik objektile Kooli ümberkujundamist vajava koha analüüs. Ülesanne #5 juhatab sisse teise poole ülesandeid, mille käigus loovad õpilased

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

loeng7.key

IT infrastruktuuri teenused sissejuhatav loeng 00

P9_10 estonian.cdr

Slide 1

Microsoft Word - Karu 15 TERMO nr 527.doc

Kuidas kehtestada N&M

MS Word Sisukord Uue dokumendi loomine... 2 Dokumendi salvestamine... 3 Faili nimi... 4 Teksti sisestamine... 6 Klaviatuuril mitteleiduvat sümbolite l

Microsoft Word - requirements.doc

Microsoft Word - Toetuste veebikaardi juhend

Microsoft PowerPoint - EMCS13

Page 1 of 6 Otsid teistmoodi eluviisi? Kommuun - uued energiasäästlikud ridaelamud Tabasalu parkmetsas! Kuigi Tallinn ja Harjumaa on uusarenduste ülek

ARENGUVESTLUSED COACHINGU PRINTSIIPE SILMAS PIDADES Arendava vestluste printsiibid: Eneseanalüüs, keskendumine tugevustele, julgustamine, motiveeriv e

Operatsioonisüsteemi ülesanded

Tiia Salm 2011 Online kirjastus CALAMÉO Calameo kujutab endast on-line kirjastust, mis võimaldab oma dokumente avaldada e-raamatuna tasuta. Failid (Pd

Microsoft Word - TallinnLV_lihtsustatud_manual_asutuse_juhataja_ doc

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile

(Microsoft Word - T\366\366leht m\365isaprogramm algklassilastele tr\374kk 2.doc)

StandardBooks_versiooni_uuendusWin

Kfloppy vormindamistööriista käsiraamat

Tartu Ülikool

EBSCO täistekstiandmebaaside kasutamine Otsingu sooritamiseks: 1. Logi sisse 2. Vali EBSCOhost Web 3. Seejärel vali andmebaas, milles soovid otsingut

Võistlusülesanne Vastutuulelaev Finaal

Microsoft Word - Kurtna koolitöötajate rahulolu 2012

PowerPointi esitlus

TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Age Roosi Thonny logifailide analüüsi automatiseerimine Bakalaureusetöö (9 EAP) Juhendajad

ДЕЛОВОЕ ОБЩЕНИЕ

MTAT Operatsioonisüsteemid - Turvalisus

B120_10 estonian.cdr

Relatsiooniline andmebaaside teooria II. 6. Loeng

Tõstuksed Aiaväravad Tõkkepuud Automaatika KÄIGUUKSED Käiguuksed on paigaldatavad kõikidele sektsioonuste tüüpidele. Käiguukse saab varustada kas tava

Andmeturve

Microsoft PowerPoint - Niitmise_tuv_optiline_ja_radar.pptx

Mäetaguse Põhikooli arenguvestluse tingimused ja kord Mäetaguse Põhikooli arenguvestluse korraldamise tingimused ja kord kehtestatakse Põhikooli- ja g

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2)

CPA4164 USB 2.0 kõrgekvaliteediline videoadapter KASUTUSJUHEND 1. PEATÜKK - Ülevaade 1.1 Tutvustus CPA4164 USB 2.0 videoadapter võimaldab teil arvutis

Rahulolu_uuring_2010.pdf

01_loomade tundmaõppimine

Elisa Ring Elisa Ringi mobiilirakendus Versioon

EVANGEELIUMI JAGAMINE MIKS JA KUIDAS RÄÄKIDA JEESUSEST TEISTELE? Kas Sa oled kunagi kellelegi rääkinud Jumalast/Jeesusest? Inimestele Jeesuse

JABRA STYLE Kasutusjuhend jabra.com/style

G aiasoft Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon ja hilisemad K

Microsoft Word - TM70_SP-MG_kasutusjuhend.docx

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

MINIMED 640G JA NIGHTSCOUT 640G pumbaga Nightscouti kasutamiseks on vaja: 1. Telefoni, mis töötaks info kogujana. Telefonil peab olema USB OTG ühendus

Slide 1

Present enesejuhtimine

AG informaatika ainekava PK

Väljavõte:

Objektorienteeritud programmeerimine 8. loeng, 1. aprill Marina Lepp 1

Loeng Eelmisel nädalal graafiline kasutajaliides tunnikontroll Lisapraktikum Praktikum 1. kontrolltöö Üleminek suveajale Täna on naljapäev 2

Muresid seoses loengutega Kas oleks võimalik, et slaidid pannakse enne loengut üles? Väga halvasti on ikkagi kuulda. Palju kajab. Teie mikrofon on väga vaikne mis on tegelikult mõnes mõttes hea, sest pean pingsalt kuulama. 3

1. kontrolltöö Eksamile pääsemiseks tuleb saada vähemalt 12 punkti Järeltöö 17. aprillil 18.15, registreerimine ÕISis (varsti) Oma kontrolltöö analüüs 1 punkt enne 8. praktikumi (11. aprill) 4

Umbes mitu tundi tegelesite eelmisel nädalal selle ainega (loeng+praktikum+iseseisvalt)? 1. 0-2 tundi 2. 2-4 tundi 3. 4-6 tundi 4. 6-8 tundi 5. 8-10 tundi 6. 10-12 tundi 7. 12-14 tundi 8. üle 14 tunni 5

Kuivõrd olete selle ainega graafikus? 1. Isegi ees 2. Täiesti graafikus 3. Veidi maas, aga saan ise hakkama 4. Kõvasti maas, vajan abi 5. Ei oska öelda 6

Täna Sündmused Omadused Tunnikontrollist tulevikust 7

Kasutajaliidesega edasi JavaFX Olid lava stseen stseenigraaf juur 8

Kas juur on vahetipp? 1. Jah 2. Ei 9

Stseenigraaf (Scene Graph) Juur tipp (node) abstraktse klassi Node mingi alamklassi isend lehttipp e. leht (leaf node) pole alluvaid vahetipp (branch node) on alluvaid Circle abstraktse klassi Parent mingi alamklassi isend juur ka Leht Leht Vahetipp Leht Leht Group Rectangle BorderPane Text Circle Vaatame APIst Node https://openjfx.io/javadoc/11/javafx.graphics/javafx/scene/node.html 10

Node Canvas Parent Shape Group Region Text Circle Polygon Control Pane ChoiceBox Labeled TextInputControl BorderPane GridPane Label ButtonBase TextArea Button CheckBox 11

Ringid ja ristkülik public void start(stage primarystage){ Group juur = new Group(); Group ringid = new Group(); Circle ring1 = new Circle(50,50,50,Color.RED); Circle ring2 = new Circle(150,150,50,Color.BLUE); Rectangle ristkülik = new Rectangle(300,100,100,100); ristkülik.setfill(color.green); ringid.getchildren().add(ring1); ringid.getchildren().add(ring2); juur.getchildren().add(ringid); juur.getchildren().add(ristkülik); Scene stseen = new Scene(juur,500,300,Color.SNOW); primarystage.settitle("ringid ja ristkülik"); primarystage.setscene(stseen); primarystage.show(); } Tahvlile stseenigraaf 12

Mis tuleb ekraanile? BorderPane juur = new BorderPane(); Text tekst = new Text("a"); StackPane pane1 = new StackPane(); StackPane pane2 = new StackPane(); pane1.getchildren().add(tekst); pane2.getchildren().add(tekst); juur.setleft(pane1); juur.setright(pane2); primarystage.setscene(new Scene(juur,300,300)); primarystage.show(); 1. tekst a vasakul 2. tekst a paremal 3. tekst a nii vasakul kui ka paremal 4. tühi aken 5. midagi muud 6. veateade 13

Mis tuleb ekraanile? Text tekst = new Text("a"); StackPane pane1 = new StackPane(); StackPane pane2 = new StackPane(); pane1.getchildren().add(tekst); pane2.getchildren().add(tekst); primarystage.setscene(new Scene(pane1)); primarystage.show(); 1. tekst a aknas 2. tühi aken 3. midagi muud 4. veateade 14

Nupud rühmas VBox juur = new VBox(); RadioButton raadionupp1 = new RadioButton("Esimene nupp"); raadionupp1.setselected(true); RadioButton raadionupp2 = new RadioButton("Teine nupp"); ToggleGroup nupurühm = new ToggleGroup(); raadionupp1.settogglegroup(nupurühm); raadionupp2.settogglegroup(nupurühm); juur.getchildren().add(raadionupp1); juur.getchildren().add(raadionupp2); Scene stseen = new Scene(juur, 300, 300); primarystage.settitle("raadio"); primarystage.setscene(stseen); primarystage.show(); 15

Raadionupud Klass RadioButton Nupud rühmas https://openjfx.io/javadoc/11/javafx.controls/javafx/scene/control/radiobutton.html Rühm Klass ToggleGroup https://openjfx.io/javadoc/11/javafx.controls/javafx/scene/control/togglegroup.html 16

Sündmused Nupp Sündmus Käsitleja Event Event handler 17

Etapid Sündmus midagi juhtub sellest teatatakse (registreeritud objektidele) teade liigub mingit teed pidi tee peal võib igasuguseid asju juhtuda näiteks süüakse ära reageeritakse sündmust käsitletakse (handling) 18

Sündmus Klassi Event (või selle mingi alamklassi) isend AWT klass Swing klass JavaFX klass 19

Sündmus javafx.event.event on hulk alamklasse sündmuse tüüp EventType allikas (Source) sihtmärk (Target) https://openjfx.io/javadoc/11/javafx.base/javafx/event/event.html 20

Sündmuse tüüp. EventType Sündmus MouseEvent EventType<MouseEvent> https://openjfx.io/javadoc/11/javafx.base/javafx/event/eventtype.html https://openjfx.io/javadoc/11/javafx.graphics/javafx/scene/input/mouseevent.html 21

Sündmuste tüübid https://docs.oracle.com/javase/8/javafx/events-tutorial/processing.htm 22

Millistele tüüpidele vastab hiirenupule klõpsimine? 1. ANY 2. DRAG_DETECTED 3. MOUSE_CLICKED 4. MOUSE_DRAGGED 5. MOUSE_ENTERED 23

Millised klassid on klassi InputEvent alamklassid? 1. ActionEvent 2. DragEvent 3. KeyEvent 4. MouseEvent 5. TouchEvent 6. WindowEvent 24

Allikas ja siht Allikas (source) sündmuse algus muutub sündmuse teekonnal (event dispatch chain) mööda tippe Siht (target) tipp, millega tegevus toimus sündmuse teekonna lõpp ei muutu määratakse vastavalt sündmuse klassile hiiresündmuse korral tipp, millel asub kursor kui mitu, siis pealmine klahvisündmuse korral tipp, millel on fookus peab realiseerima liidese EventTarget Window, Scene, Node 25

Käsitleja Käsitleja liidest EventHandler realiseeriva klassi isend Filter meetod handle Käsitleja või filter lisatakse tipule sündmuse tüüp käsitleja (filter) kui on seda tüüpi sündmus, siis meetod handle https://openjfx.io/javadoc/11/javafx.base/javafx/event/eventhandler.html 26

Käsitleja eraldi klassis public class HiireKäsitleja implements EventHandler<MouseEvent> { } public void handle(mouseevent event) { System.out.println("Siht " +event.gettarget()); System.out.println("Allikas " +event.getsource()); System.out.println("Käsitleja"); } 27

Milline käsitleja? Lisada käsitleja/filter addeventhandler(keyevent.key_pressed, eventhandler) addeventfilter(keyevent.key_pressed, eventhandler) Sündmuse tüüp 28

Käsitleja lisamine EventHandler<MouseEvent> käsitleja = new HiireKäsitleja(); //käsitleja lisamine ring1.addeventhandler(mouseevent.mouse_entered, käsitleja); ringid.addeventhandler(mouseevent.mouse_entered, käsitleja); 29

Mugavusmeetod (convenience method) setonevent-type(eventhandler<event-class> value) Võimaldab lühemalt kirjutada Nt setonkeypressed(eventhandler) Nt setonmouseentered(eventhandler) Nt setonaction(eventhandler) Piisav paljudel juhtudel Ainult sagedasemate jaoks Enamasti kirjeldatud klassis Node https://docs.oracle.com/javase/8/javafx/eventstutorial/convenience_methods.htm 30

Käsitleja lisamine, mugavusmeetod EventHandler<MouseEvent> käsitleja = new HiireKäsitleja(); //mugavusmeetod ring1.setonmouseentered(käsitleja); 31

Kuidas on võimalik määrata käsitleja? 1. addeventhandler(actionevent.any, käsitleja) 2. addactionhandler(event.any, käsitleja) 3. setonaction(käsitleja) 4. setonevent(käsitleja) 32

Kas klassikirjelduses võib olla teise klassi kirjeldus? 1. Jah 2. Ei 33

Klass teise sees??? public class Loeng8 extends Application { public void start(stage primarystage) {... ringid.getchildren().add(ring1); class HiireKäsitleja implements EventHandler<MouseEvent>{ public void handle(mouseevent event){ System.out.println("Siht "+event.gettarget()); System.out.println("Allikas "+event.getsource()); System.out.println("Käsitleja, sees"); } } EventHandler<MouseEvent> käsitleja = new HiireKäsitleja(); ring1.setonmouseentered(käsitleja); }... } 34

Millised.class failid tekivad kompileerimisel? 1. Loeng8.class, HiireKäsitleja.class 2. Loeng8.class, Loeng8$1HiireKäsitleja.class 3. Loeng8.class, Loeng8$1.class 4. Loeng8.class, HiireKäsitleja$Loeng8.class 35

Anonüümne siseklass EventHandler<MouseEvent> käsitleja = new EventHandler<MouseEvent>(){ }; public void handle(mouseevent event){ System.out.println("Siht "+ event.gettarget()); System.out.println("Allikas "+ event.getsource()); System.out.println("Käsitleja, anonüümne"); } ring1.setonmouseentered(käsitleja); 36

Millised.class failid tekivad kompileerimisel? 1. Loeng8.class, Käsitleja.class 2. Loeng8.class, Loeng8$Käsitleja.class 3. Loeng8.class, Loeng8$1.class 4. Loeng8.class, Käsitleja$Loeng8.class 37

Nimetu isendiga ring1.setonmouseentered( } new EventHandler<MouseEvent>() { public void handle(mouseevent event){ System.out.println("Siht " +event.gettarget()); System.out.println("Allikas " +event.getsource()); System.out.println("Käsitleja, nimetu"); } ); 38

Erinevaid võimalusi Kolm järku Käsitleja klassi kirjeldus eraldi klassina siseklassina anonüümse siseklassina Käsitleja isendi loomine nimega nimetu Konkreetse tipuga sidumine ring1.addeventhandler (MouseEvent.MOUSE_ENTERED, käsitleja); mugavusmeetod ring1.setonmouseentered(käsitleja); 39

Java 8, lambda Kuna setonmouseentered nõuab argumendiks isendit, mille klass realiseeriks EventHandler liidest, ning EventHandler liidesel on vaid üks meetod Saab kirjutada veel lühemalt ring1.setonmouseentered(event -> ring1.setfill(color.chartreuse)); ring1.setonmouseentered(e -> {System.out.println("Käsitleja, lambda"); ring1.setfill(color.crimson);} ); 40

Lisame sündmusi ring1.setonmouseexited( new EventHandler<MouseEvent>(){ public void handle(mouseevent event){ System.out.println("Siht "+ event.gettarget()); System.out.println("Allikas "+ event.getsource()); System.out.println(event); System.out.println("Käsitleja,väljumisel"); if (ring1.getfill() == Color.CRIMSON) ring1.setfill(color.deepskyblue); else ring1.setfill(color.firebrick); } }); 41

Nupud rühmas raadionupp2.setonaction(new EventHandler<ActionEvent>() { @Override public void handle(actionevent event) { Label silt = new Label("Õige vastus!"); juur.getchildren().add(silt); } }); 42

Kuidas sündmus liigub? Määratakse siht (target) vastavalt sündmuse klassile hiiresündmuse korral tipp, millel asub kursor kui mitu, siis pealmine klahvisündmuse korral tipp, millel on fookus Konstrueeritakse tee meetod buildeventdispatchchain() stseenigraaf, millele on lisatud lava (stage) ja stseen (scene) 43

Stseenigraaf koos lava ja stseeniga lavalt sihi poole ja tagasi 44

Kuidas sündmus liigub? püüdmisfaas (capturing phase) lavalt sihi poole filtrid (filters) kihisev faas (bubbling phase) sihilt lava poole käsitlejad (handlers) filtrid enne käsitlejaid 45

Teel võib juhtuda asju! ringid.addeventfilter(mouseevent.any, new EventHandler<MouseEvent>(){ public void handle(mouseevent event){ System.out.println("Siht "+ event.gettarget()); System.out.println("Allikas "+ event.getsource()); System.out.println(event); System.out.println("Filter"); ring1.setfill(color.black); event.consume(); } }); 46

Filtrid ja käsitlejad Põhiline erinevus rakendamise ajas Liides EventHandler 47

Käsitleja või filter Käsitleja lehtede jaoks Vahetippudele käsitleja saab alluvatele teha vaikereaktsiooni alluv saab minna spetsiifilisemaks filter saab katta üle reaktsiooni võib keelata sihini jõudmise 48

Kogu stseen stseen.addeventhandler(mouseevent.any, new EventHandler<MouseEvent>(){ public void handle(mouseevent event){ System.out.println("Siht "+ event.gettarget()); System.out.println("Allikas "+ event.getsource()); System.out.println(event); System.out.println("Käsitleja, stseen"); ristkülik.setfill(color.peru); } }); 49

Lava primarystage.addeventhandler(mouseevent.any, new EventHandler<MouseEvent>(){ public void handle(mouseevent event){ System.out.println("Siht "+ event.gettarget()); System.out.println("Allikas "+ event.getsource()); System.out.println(event); System.out.println("Käsitleja, stseen"); ristkülik.setfill(color.peru); } }); Siht javafx.scene.scene@7a978892 Allikas javafx.stage.stage@5dd49826 50

Omadused (properties) Idee JavaBean jälgida (observe) omaduste muutusi int IntegerProperty double DoubleProperty String StringProperty JavaFX API https://docs.oracle.com/javase/8/javafx/properties-binding-tutorial/binding.htm51

Omadused (properties) StringProperty parool = new SimpleStringProperty("parool"); parool.set("qwerty1234"); System.out.println("Parool on vahetatud: " + parool.get()); Parool on vahetatud: qwerty1234 52

Kuularid (listeners) ChangeListener muutuste kuular meetod changed InvalidationListener kehtetuks muutumise kuular https://openjfx.io/javadoc/11/javafx.base/javafx/beans/value/changelistener.html https://openjfx.io/javadoc/11/javafx.base/javafx/beans/invalidationlistener.html 53

StringProperty parool = new SimpleStringProperty("parool"); parool.addlistener(new ChangeListener<String>() { @Override public void changed( ObservableValue<? extends String> ov, String oldval, String newval) { System.out.println("Vana parool: "+oldval); System.out.println("Uus parool: "+newval); } }); Kuularid (listeners) Vana parool: parool Uus parool: qwerty1234 Parool on vahetatud: qwerty1234 parool.set("qwerty1234"); System.out.println("Parool on vahetatud: " + parool.get()); 54

Aga kasutajaliides? Lava (Stage) Window alamklass erinevaid omadusi JavaFX API https://openjfx.io/javadoc/11/javafx.graphics/javafx/stage/stage.html 55

56

Oleme juba kaudselt omaduste poole pöördunud primarystage.settitle("ringid ja ristkülik"); 57

Kõrguse muutmine primarystage.heightproperty().addlistener( new ChangeListener<Number>() { } @Override public void changed( ObservableValue<? extends Number> obs, Number vana, Number uus){ System.out.println("Seis muutus. Oli " + vana + ", nüüd on " + uus); } ); 58

Kasutajaliides, omadused, kuularid TextField raadius = new TextField(); Circle ring = new Circle(50, Color.RED); raadius.textproperty().addlistener( new ChangeListener<String>() { @Override public void changed(observablevalue<? extends String> ov, String oldval, String newval) { ring.setradius(integer.parseint(newval)); } }); 59

meetod bind Sidumine (binding) IntegerProperty arv1 = new SimpleIntegerProperty(100); IntegerProperty arv2 = new SimpleIntegerProperty(200); arv1.bind(arv2); System.out.println(arv1.get()); 200 https://openjfx.io/javadoc/11/javafx.base/javafx/beans/property/property.html 60

Sidumine (binding) IntegerProperty arv1 = new SimpleIntegerProperty(100); IntegerProperty arv2 = new SimpleIntegerProperty(200); NumberBinding summa = arv1.add(arv2); System.out.println(summa.getValue()); arv1.set(200); System.out.println(summa.getValue()); arv2.set(300); System.out.println(summa.getValue()); 300 400 500 https://openjfx.io/javadoc/11/javafx.base/javafx/beans/binding/numberbinding.html 61

Kasutajaliides, omadused, sidumine Slider sl1 = new Slider(0, 15, 1); Circle ring = new Circle(50, Color.RED); ring.radiusproperty().bind( sl1.valueproperty().multiply(10)); 62

Mida väljastab järgmine programmilõik? IntegerProperty laius = new SimpleIntegerProperty(5); IntegerProperty kõrgus = new SimpleIntegerProperty(10); kõrgus.bind(laius); System.out.println(laius.get()); 1. 0 2. 5 3. 10 4. 15 5. midagi muud 6. veateate 63

Mida väljastab järgmine programmilõik? IntegerProperty laius = new SimpleIntegerProperty(10); IntegerProperty kõrgus = new SimpleIntegerProperty(10); NumberBinding pindala = laius.multiply(kõrgus); System.out.println(pindala.getValue()); 1. 10 2. 0 3. 100 4. 20 5. midagi muud 6. veateate 64

Mida väljastab järgmine programmilõik? IntegerProperty laius = new SimpleIntegerProperty(10); IntegerProperty kõrgus = new SimpleIntegerProperty(10); NumberBinding pindala = laius.multiply(kõrgus); laius.set(5); System.out.println(pindala.getValue()); 1. 10 2. 0 3. 100 4. 15 5. 50 6. midagi muud 7. veateate 65

Mida väljastab järgmine programmilõik? IntegerProperty laius = new SimpleIntegerProperty(10); IntegerProperty kõrgus = new SimpleIntegerProperty(10); NumberBinding pindala = laius.multiply(kõrgus); kõrgus.bind(laius); laius.set(5); System.out.println(pindala.getValue()); 1. 10 2. 0 3. 100 4. 25 5. 50 6. midagi muud 7. veateate 66

Miks Te loengusse tulite? Miks Te ei kuula videoloengut? Kuivõrd loengut üldse on vaja? Tunnikontroll Paus loengu keskel Kas on vajalik või pigem segab? Kuidas suhtute klikkerite kasutamisse? üldküsimused alguses ja lõpus küsimused asjade kohta, mida pole veel täpsemalt käsitletud küsimused teadmiste kontrolliks Sülearvutite kasutamine loengus Kas soovitus sülearvuti loengus ära panna, on asjakohane? Miks te ikkagi kasutate? Muresid seoses loengutega/praktikumidega/ 67

Loengus käin, kuna seal seletatakse kõik ilusti lahti ja on lihtsam koduseid ülesandeid teha. Loengut oleks vaja ehk iga teine nädal, praktikas õpin asju palju paremini. Tulin loengusse, kuna kindlal ajal loengusse tulemine on mugavam kui ise leida aega videoloengu jaoks. Kontrolltööks videoid üle vaadates saan nüüd mõnedest asjadest palju paremini aru. Seega ära need videod kaduda ei tohi. Loengud võiksid jääda. Tulin loengusse loengupunkti saama. Tulin loengusse, et näha sõpru. Tulin loengusse, kuna tunniplaanis oleks vastasel juhul see aeg auk. 68

Miks Te loengusse tulite? Miks Te ei kuula videoloengut? Kuivõrd loengut üldse on vaja? Tunnikontroll Paus loengu keskel Kas on vajalik või pigem segab? Kuidas suhtute klikkerite kasutamisse? üldküsimused alguses ja lõpus küsimused asjade kohta, mida pole veel täpsemalt käsitletud küsimused teadmiste kontrolliks Sülearvutite kasutamine loengus Kas soovitus sülearvuti loengus ära panna, on asjakohane? Miks te ikkagi kasutate? Muresid seoses loengutega/praktikumidega/ 69

Väga vajalik. Paus on hea. 1 piisav. Ei ole vahet, kas paus on või mitte. Paus pole vajalik. Paus loengu keskel on väga hea, saab jalgu sirutada ja parkimiskella keerata. Väga hea, aga kui oleks mugavamad pingid, siis ei oleks vaja. Paus aitab arutada läbi olnud materjali nii, et vestlus kursusekaaslasi ei segaks. 70

Miks Te loengusse tulite? Miks Te ei kuula videoloengut? Kuivõrd loengut üldse on vaja? Tunnikontroll Paus loengu keskel Kas on vajalik või pigem segab? Kuidas suhtute klikkerite kasutamisse? üldküsimused alguses ja lõpus küsimused asjade kohta, mida pole veel täpsemalt käsitletud küsimused teadmiste kontrolliks Sülearvutite kasutamine loengus Kas soovitus sülearvuti loengus ära panna, on asjakohane? Miks te ikkagi kasutate? Muresid seoses loengutega/praktikumidega/ 71

Klikkeriküsimused on toredad! Kõik küsimused meeldivad ja on arendavad. Klikker on tore, paneb kaasa mõtlema, aga küsimused on päris rasked. Suhtun hästi klikkeritesse, saab loengust interaktiivselt osa võtta ja teadmisi kontrollida. Kõik klikkeritega seonduv on hea. Klikkerid ei tööta enamasti Klikkerite asemel võik kasutada veebiteenust. Klikkeri küsimused on head, sest saab näha, kas oled teistest maas või samal tasemel. Hoiavad ärkvel. 72

Miks Te loengusse tulite? Miks Te ei kuula videoloengut? Kuivõrd loengut üldse on vaja? Tunnikontroll Paus loengu keskel Kas on vajalik või pigem segab? Kuidas suhtute klikkerite kasutamisse? üldküsimused alguses ja lõpus küsimused asjade kohta, mida pole veel täpsemalt käsitletud küsimused teadmiste kontrolliks Sülearvutite kasutamine loengus Kas soovitus sülearvuti loengus ära panna, on asjakohane? Miks te ikkagi kasutate? Muresid seoses loengutega/praktikumidega/ 73

Sülearvutite keelamine on hea, saab paremini keskenduda. Arvan, et see on hea mõte, et üleval saab arvutit kasutada, aga muidu mitte. Ise ei kasuta loengus sülearvutit ja arvan, et on mõistlik, et loengus ei tegeleta kõrvaliste asjadega. On küll asjakohane, tänases loengus keegi kasutas, istus Facebookis, häiris. Arvan, et sülearvutite keeld on mõttetu, peamiselt sellepärast, et loeng ei ole nii kasulik kõigile, et kõik peaksid olema sunnitud seda kuulama. Ei näe vajadust sülearvutit loengus kasutada, tahvlil tehtud näiteid ei jõua nagunii maha kirjutada. 74

if (arvuti kasutamine loengus = true) { return ei suuda süveneda ; } else { return suudan süveneda ; } 75

Loengu tempo oli 1. liiga kiire 2. paras 3. liiga aeglane 76

Materjal tundus 1. liiga lihtne 2. parajalt jõukohane 3. liiga keeruline 77

Suur tänu osalemast! Kohtumiseni! 78