Универзитет у Новом Саду Технички Факултет "Михајло Пупин" Зрењанин

E-uprava


21
МАР
2013

Nastavne oblasti za pripremu vežbi

Prvo predavanje – upoznavanje s Javom

Aplikacija Hello World – kompajliranje i izvršavanje programa – for-petlje – operatori za increment i decrement – naredbe za ispis – Fibonaccijevi brojevi – varijable i tipovi podataka – komentari –argumenti na komandnoj liniji – klase, atributi i metode – objekti – razlikovanje objekata iste klase – višestruko referenciranje objekta – statičke varijable – metode –prenošenje argumenta u metodu – vraćanje vrednosti iz metoda – setter metode – getter metode – ista imena varijabli i metoda – konstruktori – skrivanje imena varijabli i ključna reč this – polja

Drugo predavanje – proceduralna sintaksa

Primitivni tipovi podataka – operatori – razmak – literali – identifikatori – ključne reči – separatori – sabirajanje celih brojeva – sabirajanje brojeva tipa double – množenje i deljenje – računanje ostatka, modulo – prioritet izvršavanja operatora – zagrade – mešanje tipova podataka – automatsko dodjeljivanje tipova podataka (casting) – pretvaranje stringova u brojeve – podaci tipa char – Unicode – naredbe za kontrolu toka – naredba if – ispitivanje jednakosti – klauzula else – klauzula else if – while petlja – for petlja – do while petlja – booleovski podaci – relacijski operatori – prioritet izvršavanja relacijskih operatora – ispitivanje jednakosti objekata – naredba break – naredba continue – labelirane petlje – naredba switch-case – kondicionalni operator (? :) – logički operatori – prioritet izvršavanja logičkih operatora – deklariranje polja – kreiranje polja – inicijaliziranje polja – metoda System.arraycopy() – deklariranje, alociranje i inicijaliziranje dvodimenzionalnih polja – višedimenzionalna i neuravnotežena polja

Treće predavanje – objekti i klase

Objektno orijentirano programiranje – primer: klasa Car – kreiranje objekata uz pomoć operatora new – separator pristupačlanovima . – upotreba objekata unutar različitih klasa – inicijaliziranje atributa – metode – pozivanje metoda – implicirani this – member varijable nasuprot lokalnim varijablama – prenošenje argumenata u metodu – prenošenje argumenata u metodu, primer – setter metode – upotreba setter metoda, primer – vraćanje vrednosti iz metode – vraćanje nekoliko vrednosti iz metoda – upotreba getter metoda, primer – konstruktori – upotreba konstruktora – ograničenja – zaštita pristupa(access protection) – četiri nivoa zaštite pristupa – što treba biti public, a što private? – tri koristi od zaštite pristupa – primer zaštite pristupa – promena implementacije

Četvrto predavanje – još o klasama i objektima

Što je overloading? – ključna reč this u konstruktorima – nasljeđivanje – nadklasa (superclass), MotorVehicle – podklase (subclasses), Motorcycle i Car – podklase i polimorfizam – kaskadno nasleđivanje – statičke varijable i metode – pozivanje statičkih metoda – ključna reč final – prekrivanje metoda (overriding) – ispis objekata pomoću toString() metoda – ključna reč abstract – interfejsi (interfaces) – implementiranje interfejsa- – implementiranje interfejsa Cloneable – metoda equals() - metoda hashCode() iz java.lang.Object – unutarnje klase (inner classes) – izuzeci (exceptions) – try-catch blok – što možemo učiniti s uhvaćenom izuzetkom? – ključna reč finally – razne vrste izuzetaka – hvatanje višestrukih izuzetaka – izbacivanje izuzetka, ključna reč throws – pisanje vlastitih klasa izuzetaka – metode klase Exception – biblioteka klasa – dokumentiranje vlastitih programa – importiranje klasa i paketa – primeri metoda iz klase java.lang.Math – klasa java.util.Random – klasa java.lang.String – pisanje vlastitih paketa – JAR arhive

Peto predavanje – apleti

HTML, jezik za oblikovanje web stranica - URL, jedinstvena adresa dokumenta – delovi URLa – linkovi – relativni URLovi – applet Hello World – što je applet? – HTML oznaka <applet> - odabir pozicije na stranici – alternativni tekst – imenovanje appleta – JAR arhive – HTML oznaka <object> - veličina appleta – HTML oznaka <param> - obrada nepoznatog broja parametara – sigurnost appleta – što applet može činiti? – s kim applet može komunicirati? – koliko CPU vremena applet dobija? – sigurnost i social engineering – sprečavnje hakerskih napada kroz applete – Životni ciklus appleta – metode init(), start(), stop() i destroy() – koordinatni sistem – objekti klase Graphics – crtanje linija – crtanje pravougaonika – punjenje pravougaonika – brisanje pravougaonika – elipse i kružnice – primer, bullseye – poligoni – višestruke linije (polylines) – učitavanje slika – metode getCodeBase() i getDocumentBase() – prikaz slike u pravoj veličini – skaliranje slika – boje – sistemske boje – fontovi – odabir oblika i veličine fonta – klasa FontMetrics

Šesto predavanje - komponente

Što su komponente? – labele – tri koraka u dodavanju komponente – gde je metoda paint()? – metode klase Label – buttoni – akcije na buttonima – primer appleta sa akcijom na buttonu – različiti obrasci za događaje – višestruki ActionListeneri – metode za buttone – Action naredbe – više buttona u istom appletu – unutrašnje klase kao EventListeneri – tekstualna polja – primer tekstualnih polja u Javi – TextArea – klasa TextComponent – interfejs TextListener i klasa TextEvent – klasa Canvas – klasa Choice – metode klase Choice – klasa ItemListener – klasa Checkbox – događaji iz klase Checkbox – klasa CheckboxGroup – primer CheckboxGroup – klasa List – metode klase List – događaji klase List – klasa Scrollbar

Sedmo predavanje - događaji

Proceduralni programi – rep događaja (event queue) – događaji niskog nivoa (low level events) – događaji visokog nivoa (high level events) – hijerarhija klasa događaja – obrada događaja – različiti EventListeneri – primer upotrebe MouseListenera – događaji vezani uz tipke (key events) – kodovi tipki – različite tipke i njihovi kodovi – modifikatori (modifier keys) – modifikatori uz tipke miša – događaji vezani uz fokus (focus events) – događaji vezani uz komponentu (component events) – adapteri – primer upotrebe adaptera – apsorbiranje događaja – prebacivanje događaja s niskog na visoki nivo – rad s repom događaja

Osmo predavanje – razmeštaj komponenti

Kontrola razmeštaja komponenti – razne implementacije layout managera – razmeštaj tipa FlowLayout – podešavanje poravnanja za FlowLayout – razdvajanje komponenti za FlowLayout – razmeštaj tipa BorderLayout – razmeštaj tipa CardLayout – upotreba CardLayout razmeštaja – promjena karata – razmeštaj tipa GridLayout – razmeštaj tipa BridBagLayout – razmeštaj tipa GridBagConstraints – mreža (grid) za applet Calculator – atributi gridx i gridy – atributi gridwidth i gridheight – atribut fill – atributi ipadx i ipady – klasa Insets – atribut anchor – atributi weightx i weighty – primer za GridLayout – ručno pozicioniranje komponenti – Kontejneri – dve vrste kontejnera – paneli – ugnježdeni paneli – prozori (windows) – okviri (frames) – događaji vezani uz prozore – primer događaja na prozorima – kombiniranje appleta i aplikacija – dijalozi – metode za dijaloge – primeri dijaloga – pisanje podklasa klase Dialog

Deveto predavanje – meniji, slike i zvukovi

Što je meni? – klase menija – kreiranje menija – primer menija – događaji vezani uz menije –kratice menija – padajući meniji (popup menus) – slike – kamo staviti slike? – učitavnje slika – crtanje slika – upotreba povratne vrednosti metoda drawImage() – primer crtanja slika – promjena veličine slike – ustanovljavanje veličine slike – paket java.awt.image – Interfejs ImageProducer, ImageObserver, ImageConsumer – interfejs ImageConsumer – čekanje na učitavanje slike – prekrivanje metode imageUpdate() – što je zapravo slika? – operator << - kreiranje slika – primer kreiranja slika – metoda getRGB() – pretapanje boja – filtriranje slika – klasa RGBImageFilter – primer plavog filtra – primer filtra sivih tonova – filtri koji zavise o položaju – filtri koji zavise o adjungiranim pixelima – audio – kontinuirana izvedba

Deseto predavanje – ulaz i izlaz

Operacije ulaza i izlaza - što je stream? – klase streamova – odakle streamovi dolaze? – klasa InputStream – čitanje byteova – čitanje više byteova odjednom – prebrojavanje dostupnih byteova – preskakanje byteova – markiranje i resetiranje – zatvaranje streamova – izlazni streamovi – primer izlaznog streama – čitanje iz datoteke – primer čitanja iz datoteke – pisanje u datoteku – primer pisanja u datoteku – dodavanje na kraj datoteke – filtriranje streamova – filtrirani streamovi – bufferirani streamovi – klase podatkovnih streamova – klasa PrintStream – klasa PushBackInputStream – klasa File – konstruktori klase File – metode klase File – primeri metoda iz klase File – klasa FileDialog – klasa RandomAccessFile – interfejs FilenameFilter – klase Reader i Writer – klasa Reader – klasa Writer – klasa InputStreamReader – klasa OutputStreamWriter – dostupne kodne stranice – klasa FileWriter – klasa FileReader – klasa BufferedReader – klasa LineNumberReader – klasa BufferedWriter

Jedanaesto predavanje - threadovi

Multitasking i multithreading – što je thread? - kako Java koristi threadove? – klase threadova – jednostavni thread – višestruki threadovi – imenovanje threadova – prioriteti threadova – metoda sleep() – sinhronizacija: problem – sinhronizacija: nekoliko pokušaja rešenja - ključna reč synchronized – sinhroziniranje na objektima – primarni thread – grupe threadova – threadovi demoni – ustupanje kontrole – spajanje threadova – interfejs Runnable – animacija – pravovremenost – titranje slike – pokretanje i zaustavljanje animacije – višestruke nezavisne animacije

Dvanaesto predavanje – mrežno programiranje

Trinaesto predavanje – ispis i prenos podataka