Chapter 7 Arrays (Nizovi).

Slides:



Advertisements
Similar presentations
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Advertisements

Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
Wecksten, Mattias Arrays Based on templates from Lewis & Loftus.
Aalborg Media Lab 28-Jun-15 Software Design Lecture 8 “Arrays”
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
© 2011 Pearson Education, publishing as Addison-Wesley 1 Arrays  Arrays are objects that help us organize large amounts of information  Chapter 6 focuses.
1 Lekcija 6 - Nizovi Pregled 6.1Uvod 6.2Nizovi 6.3Deklaracija niza 6.4Primjeri upotrebe nizova 6.5Nizovi kao argumenti funkcije 6.6Sortiranje niza 6.7Primjer:
7. Arrays. Topics Declaring and Using Arrays Some Array Algorithms Arrays of Objects Variable Length Parameter Lists Two-Dimensional Arrays The ArrayList.
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
Chapter 7 Arrays 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 7 Arrays. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of information Chapter.
Chapter 7 Arrays: Part 2. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Outline Declaring and Using Arrays Arrays of Objects Variable Length Parameter.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Java Software Solutions Foundations of Program Design Sixth Edition by Lewis.
Chapter 7 Arrays 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design © 2007 Pearson Addison-Wesley. All rights reserved.
Programming in Java (COP 2250) Lecture Chengyong Yang Fall, 2005.
1 Arrays An array is an ordered list of values An array of size N is indexed from zero to N-1 scores.
Java Software Solutions Foundations of Program Design Sixth Edition by Lewis & Loftus Chapter 7: Arrays.
Chapter 7 Arrays: Part 1 of 2. © 2004 Pearson Addison-Wesley. All rights reserved7-2 Arrays Arrays are objects that help us organize large amounts of.
© 2004 Pearson Addison-Wesley. All rights reserved October 10, 2007 Parameter Lists & Command Line Arguments ComS 207: Programming I (in Java) Iowa State.
Prof: doc.dr. Samir Lemeš student: Samir Hrnjić. System restore je komponenta Microsoftovih operativnih sistema Windows Serveri ne podržavaju opciju System.
Chapter 7 Arrays 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design © 2007 Pearson Addison-Wesley. All rights reserved.
© 2004 Pearson Addison-Wesley. All rights reserved5-1 The if-else Statement An else clause can be added to an if statement to make an if-else statement.
Lecture 5 array declaration and instantiation array reference
Arrays of Objects October 9, 2006 ComS 207: Programming I (in Java)
Chapter VII: Arrays.
Parameter Lists & Command Line Arguments
Glava 5 Uslovi i petlje.
Petlje WHILE – WEND.
Objektno-Orientisani Dizajn
Glava 8 Nasljedjivanje.
Java Hello world !.
Nadgradnja klasa i nasljeđivanje – 3
Programi,Podaci,Varijable,Računanje- Uvod
Chapter 7: Arrays.
Programiranje - Blokovi naredbi i logički tipovi –
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Java Petlje i logika - 1.
PROGRAMIRANJE MENIJA.
CheckBox RadioButton RadioGroup
Petlje FOR - NEXT.
Programi,Podaci,Varijable,Računanje - 2
Објектно орјентисано програмирање
KREIRANJE OBJEKATA.
Glava 11 Rekurzija.
Java Klase (Classes).
Uvod u programiranje - matematika – X predavanje
Arrays and strings -2 (nizovi i znakovni nizovi)
Reference ćelije i opsega
14 UNUTRAŠNJE I ANONIMNE KLASE
Arrays and strings -1 (nizovi i znakovni nizovi)
2D Arrays October 12, 2007 ComS 207: Programming I (in Java)
Klasa grafik.
Objektno orijentisano programiranje
M-datoteke.
MessageBox.
Glava 9 Polimorfizam.
Visual Basic – Prvi primjer
Osnovni simboli jezika Pascal
Do While ... Loop struktura
Nizovi.
Naredbe u php-u.
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Programiranje - Naredbe za kontrolu toka programa – 3. dio
Programski jezik C++ - Vježbe - 1. dio
Arrays of Objects October 8, 2007 ComS 207: Programming I (in Java)
Ponavljanje Pisana provjera
Vježbenica 2: struktura grananja – 2.dio
Programski jezik C++ - Vježbe - 2. dio
Presentation transcript:

Chapter 7 Arrays (Nizovi)

Nizovi Nizovi su objekti koji nam pomazu da organizujemo velike kolicine informacija U glavi 7 razmatramo: Deklaraciju i koristenje niza Provjeru granica i kapaciteta Nizove koji sadrze reference na objekte Liste promjenljive duzine koje sadrze parametre Visedimenzionalne nizove Klasu ArrayList Poligone i izlomljene linije Dogadjaje misa i dogadjaje tastature © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklarisanje i koristenje nizova Nizovi objekata Liste promjenljive duzine koje sadrze parametre Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tastature © 2004 Pearson Addison-Wesley. All rights reserved

Cio niz ima jedinstveno ime Svaka vrijednost ima numericki indeks Nizovi Niz je uredjena lista vrijednosti scores Cio niz ima jedinstveno ime Svaka vrijednost ima numericki indeks 0 1 2 3 4 5 6 7 8 9 79 87 94 82 67 98 87 81 74 91 Niz duzine N je indeksiran od nule do N-1 Ovaj niz sadrzi 10 vrijednosti koje su indeksirane od 0 do 9 © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi Pojedinacna vrijednost u nizu se navode koristeci ime niza iza kojeg slijedi indeks u uglastim zagradama Na primjer, izraz scores[2] referise vrijednost 94 (3-ca vrijednost u nizu) Taj izraz predstavlja mjesto za cuvanje cijelog broja i moze se koristiti kad god se koristi cjelobrojna varijabla © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi Na primjer, elementu niza moze se dodijeliti vrijednost, moze se odstampati ili koristiti u racunu: scores[2] = 89; scores[prvi] = scores[prvi] + 2; mean = (scores[0] + scores[1])/2; System.out.println (“Vrh = " + scores[5]); © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi Vrijednosti sadrzane u nizu nazivaju se elementi niza Niz sadrzi vise vrijednosti istog tipa – tip elementa Tip elementa moze biti prost tip ili referenca objekta Dakle, mozemo kreirati niz cijelih, niz karaktera, niz objekata tipa String, niz objekata tipa Coin, itd. U Javi, sam niz je objekat koji mora biti instanciran © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi Drugi nacin opisa niza scores: 79 87 94 82 67 98 81 74 91 © 2004 Pearson Addison-Wesley. All rights reserved

int[] scores = new int[10]; Deklaracija nizova Niz scores mogao bi biti deklarisan na slijedeci nacin: int[] scores = new int[10]; Tip varijable scores je int[] (niz cijelih) Primijetimo da tip niza ne odredjuje njegovu duzinu, ali svaki objekat tog tipa ima odredjenu duzinu Referentna varijabla scores postavlja se na new array objekat koji moze sadrzati 10 cijelih © 2004 Pearson Addison-Wesley. All rights reserved

Deklaracija nizova Neki drugi primjeri deklaracije nizova: float[] cijene = new float[500]; boolean[] flags; flags = new boolean[20]; char[] kodovi = new char[1750]; © 2004 Pearson Addison-Wesley. All rights reserved

Koristenje nizova Verzija for petlje moze se koristiti kao iterator kod obrade elemenata niza for (int score : scores) System.out.println (score); Ovo vrijedi samo kada obradjujemo sve elemente niza od vrha (najmanji indeks) do dna (najveci indeks) Vidi BasicArray.java (strana 372) © 2004 Pearson Addison-Wesley. All rights reserved

Provjera granica Kada je niz kreiran on ima fiksiranu duzinu Indeks koji se koristi kao referenca mora odredjivati ispravnu vrijednost To znaci, indeks mora biti u rasponu od 0 do N-1 Java interpreter javlja ArrayIndexOutOfBoundsException ako je neki indeks niza van granica Ovo se naziva automatska provjera granica © 2004 Pearson Addison-Wesley. All rights reserved

Provjera granica Na primjer, ako niz codes ima 100 vrijednosti, on moze biti indeksiran koristeci brojeve od 0 do 99 Ako vrijednost count iznosi 100, tada ce slijedeca referenca prouzrokovati javljanje greske: System.out.println (codes[count]); Uobicajeno je uvesti off-by-one gresku kada se koriste nizovi problem for (int index=0; index <= 100; index++) codes[index] = index*50 + epsilon; © 2004 Pearson Addison-Wesley. All rights reserved

Provjera granica Svaki niz objekat ima javnu (public) konstantu zvanu length koja sadrzi duzinu niza Ona se poziva koristeci ime niza: scores.length Primijetimo da length sadrzi broj elemenata, a ne najveci indeks Vidi ReverseOrder.java (strana 375) Vidi LetterCount.java (strana 376) © 2004 Pearson Addison-Wesley. All rights reserved

Alternativna sintaksa za niz Zagrade za tip niza mogu se povezati sa tipom elementa ili sa imenom niza Dakle, slijedece dvije deklaracije su ekvivalentne: float[] prices; float prices[]; Prvi format je uglavnom citljiviji i trebalo bi ga koristiti © 2004 Pearson Addison-Wesley. All rights reserved

Lista za inicijalizaciju Lista za inicijalizaciju moze biti koristena za inicijalizaciju i popunjavanje niza u jednom koraku Vrijednosti su ogranicene zagradama i odvojene zarezima Primjeri: int[] units = {147, 323, 89, 933, 540, 269, 97, 114, 298, 476}; char[] letterGrades = {'A', 'B', 'C', 'D', ’F'}; © 2004 Pearson Addison-Wesley. All rights reserved

Lista za inicijalizaciju Kada se koristi lista za inicijalizaciju tada: Operator new se ne koristi Vrijednost duzine se ne navodi Duzina niza je odredjena brojem clanova u listi za inicijalizaciju Lista za inicijalizaciju moze biti koristena samo prilikom deklaracije niza Vidi Primes.java (strana 381) © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi kao parametri Cio niz moze se predati kao parametar nekoj metodi Slicno svakom drugom objektu, referenca na niz se prenosi, cineci da aktuelni parametar i formalni parametar postaju aliasi jedan drugog Dakle, mijenjajuci neki elemenat niza u metodi mijenja i original Pojedinacni elemenat niza moze se takodje predati metodi, u kom slucaju je tip formalnog parametra isti kao tip elementa © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklaracija i koristenje nizova Nizovi objekata Liste promjenljive duzine koje sadrze parametre Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tastature © 2004 Pearson Addison-Wesley. All rights reserved

String[] words = new String[5]; Nizovi objekata Elementi niza mogu biti reerence na objekte Slijedeca deklaracija rezervise prostor za cuvanje 5 referenci na objekte tipa String String[] words = new String[5]; Ona sama NE kreira objekte tipa String Inicijalno niz objekata sadrzi null reference Svaki objekat u nizu mora biti instanciran zasebno © 2004 Pearson Addison-Wesley. All rights reserved

System.out.println (words[0]); Nizovi objekata Niz words nakon sto je inicijalno deklarisan: words - Na ovom mjestu, slijedece reference moraju javiti NullPointerException: System.out.println (words[0]); © 2004 Pearson Addison-Wesley. All rights reserved

Niz objekata Nakon sto su neki objekti tipa String kreirani i sacuvani u nizu: “friendship” words - “loyalty” “honor” © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi objekata Zapamtimo da objekti tipa String mogu biti kreirani koriscenjem literala Slijedeca deklaracija kreira niz objekata zvani verbs i puni ga sa cetiri objekta String koji su kreirani pomocu literala String[] verbs = {"play", "work", "eat", "sleep"}; © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi objekata Slijedeci primjer kreira niz objekata tipa Grade, svaki sa predstavljanjem stringa i sa numerickom donjom medjom Vidi GradeRange.java (strana 384) Vidi Grade.java (strana 385) Pogledajmo sada primjer koji upravlja kolekcijom CD objekata Vidi Tunes.java (strana 387) Vidi CDCollection.java (strana 388) Vidi CD.java (strana 391) © 2004 Pearson Addison-Wesley. All rights reserved

Nizovi objekata UML diagram za program Tunes: * Tunes CDCollection CD + main (args : String[]) : void CDCollection - collection : CD[] - count : int - totalCost : double + addCD (title : String, artist : String, cost : double, tracks : int) : void + toString() : String - increaseSize() : void CD - title : String - artist : String - cost : double - tracks : int * 1 © 2004 Pearson Addison-Wesley. All rights reserved

Argumenti komandne linije Signatura metode main pokazuje da ona uzima jedan niz objekata tipa String kao parametre Ove vrijednosti dolaze kao argumenti comandne linije koji se zadaju pri pozivu interetera Na primjer, slijedeci poziv interpretera predaje tri objekta tipa String u main: > java StateEval pennsylvania texas arizona Ovi stringovi se cuvaju na poljima indeksa 0-2 niza parametara metode main Vidi NameTag.java (strana 393) © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklarisanje i koristenje nizova Nizovi objekata Liste promjenljive duzine sa parametrima Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tastature © 2004 Pearson Addison-Wesley. All rights reserved

Liste promjenljive duzine sa parametrima Pretpostavimo da zelimo kreirati metodu koja obradjuje razlicite kolicine informacija pri razlicitim pozivima Na primjer, definisimo metodu zvanu average koja vraca srednju vrijednost skupa cijelih parametara // jedan poziv usrednjava tri vrijednosti mean1 = average (42, 69, 37); // drugi poziv usrednjava sedam vrijednosti mean2 = average (35, 43, 93, 23, 40, 21, 75); © 2004 Pearson Addison-Wesley. All rights reserved

Parametarske liste promjenljive duzine Mogli smo definisati preopterecenu verziju metode average Losa strana: mi trebamo odvojenu verziju metode za svaki broj parametara Mogli bi definisati metod koji prihvata jedan niz cijelih Losa strana: treba kreirati niz i ubaciti cijele brojeve prije svakog poziva metode Umjesto toga, Java uvodi pogodan nacin za kreiranje parametarske lise promjenljive duzine © 2004 Pearson Addison-Wesley. All rights reserved

Parametarske liste promjenljive duzine Koristeci specijalnu sintaksu u listi formalnih parametara, mozemo definisati metod koji prihvata proizvoljan broj parametara istog tipa Za svaki poziv, parametri se automatski stavljaju u jedan niz radi lakse obrade Indicira promjenljivu duzinu parametarske liste public double average (int ... list) { // sta bilo } Tip Elementa Ime niza © 2004 Pearson Addison-Wesley. All rights reserved

Parametarske liste promjenljive duzine public double average (int ... list) { double result = 0.0; if (list.length != 0) int sum = 0; for (int num : list) sum += num; result = (double)num / list.length; } return result; © 2004 Pearson Addison-Wesley. All rights reserved

Parametarske liste promjenljive duzine Tip parametra moze biti proizvoljan prosti tip ili tip objekta public void printGrades (Grade ... grades) { for (Grade letterGrade : grades) System.out.println (letterGrade); } © 2004 Pearson Addison-Wesley. All rights reserved

Parametarske liste promjenljive duzine Metod koji moze prihvatiti promjenljiv broj parametara moze takodje prihvatiti i druge parametre Slijedeci metod prihvata neki int, objekat tipa String, kao i promjenljiv broj double vrijednosti u jedan niz zvani nums public void test (int count, String name, double ... nums) { // whatever } © 2004 Pearson Addison-Wesley. All rights reserved

Parametarske liste promjenljive duzine Promjenljivi broj parametara mora biti zadnji od formalnih argumenata Pojedinacna metoda ne moze prihvatiti dva skupa sa promjenljivim brojem parametara Konstruktor se takodje moze postaviti da prihvata promjenljiv broj parametara Vidi VariableParameters.java (strana 396) Vidi Family.java (strana 397) © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklarisanje i koristenje nizova Nizovi i objekti Parametarske liste promjenljive duzine Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tipke © 2004 Pearson Addison-Wesley. All rights reserved

Dvodimenzionalni nizovi Jednodimenzionalni niz sadrzi listu elemenata Dvodimenzionalni niz mozemo shvatiti kao tabelu sa redovima i kolonama one dimension two dimensions © 2004 Pearson Addison-Wesley. All rights reserved

Dvodimenzionalni nizovi Da budemo precizni, u Javi je dvodimenzionalni niz jedan niz nizova Dvodimenzionalni niz je deklarisan navodjenjem duzine svake dimenzije posebno: int[][] scores = new int[12][50]; Elemenat niza se navodi koristeci dvije vrijednosti indeksa: value = scores[3][6] Niz koji se cuva u jednom redu moze biti odredjen koriscenjem jednog indeksa © 2004 Pearson Addison-Wesley. All rights reserved

Dvodimenzionalni nizovi Izraz Tip Opis tabela int[][] 2D niz cijelih brojeva, ili niz nizova cijelih brojeva tabela[5] int[] Niz cijelih brojeva tabela[5][12] int Cio broj Vidi TwoDArray.java (strana 399) Vidi SodaSurvey.java (strana 400) © 2004 Pearson Addison-Wesley. All rights reserved

Visedimenzionalni nizovi Neki niz moze imati vise dimenzija – ako on ima vise od jedne dimenzije, on se naziva visedimenzionalni niz Svaka dimenzija dijeli prethodnu na odredjeni broj elemenata Svaka dimenzija ima vlastitu konstantu length Posto je svaka dimenzija neki niz referenci nizova, nizovi u jednoj dimenziji mogu imati razne duzine Ovi se ponekad nazivaju neporavnati nizovi (ragged arrays) © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklarisanje i koristenje nizova Nizovi i objekti Parametarske liste promjenljive duzine Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tipke © 2004 Pearson Addison-Wesley. All rights reserved

Klasa ArrayList Klasa ArrayList je dio paketa java.util Slicno nizu, ona moze sadrzati listu vrijednosti i referenci od kojih svaka koristi jedan indeks Ipak, ne moze se koristiti sintaksa sa uglastim zagradama za neki objekat tipa ArrayList Stavise, neki objekat ArrayList raste i skuplja se po potrebi, prilagodjavajuci svoj kapacitet prema potrebi © 2004 Pearson Addison-Wesley. All rights reserved

Klasa ArrayList Elementi mogu biti ubaceni ili izbaceni iz liste jednim pozivom metode Kada je jedan elemenat ubacen, ostali elementi se “razmicu" da naprave mjesto Slicno, kada je jedan elemenat izbacen, lista se “zbija" da zatvori prazninu Indeksi elemenata se prilagodjavaju na odgovarajuci nacin © 2004 Pearson Addison-Wesley. All rights reserved

ArrayList<Family> reunion = new ArrayList<Family> Klasa ArrayList ArrayList sadrzi reference na klasu Object, koja joj dozvoljava da cuva bilo koju vrstu objekta Vidi Beatles.java (strana 405) Mozemo takodje definisati neki objekat tipa ArrayList da prihvata poseban tip objekta Slijedeca deklaracija kreira objekat ArrayList koji cuva samo objekte Family ArrayList<Family> reunion = new ArrayList<Family> Ovo je primjer generisanja, koji ce dalje biti definisan u glavi 12 © 2004 Pearson Addison-Wesley. All rights reserved

Efikasnost ArrayList Klasa ArrayList je implementirana koristeci niz Nizom se manipulise tako da indeksi ostaju neperkidni u toku dodavanja ili uklanjanja elemenata Ako se elementi dodaju i uklanjaju sa kraja liste, ovaj postupak je dovoljno efikasan Ali ako se elementi ubacuju i uklanjaju sa cela ili iz sredine liste, preostali elementi su siftani © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklarisanje i koristenje nizova Nizovi objekata Liste promjenljive duzine sa parametrima Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tipke © 2004 Pearson Addison-Wesley. All rights reserved

Poligoni i izlomljena linije Nizovi mogu biti korisni u grafickoj obradi Na primjer, oni mogu biti koristeni za cuvanje liste koordinata polygon je visestrani, zatvoren oblik Izlomljena linija je slicna poligonu osim sto krajnje tacke nisu sastavljene, a ne moze biti ni ispunjena Vidi Rocket.java (strana 409) Vidi RocketPanel.java (strana 410) © 2004 Pearson Addison-Wesley. All rights reserved

Klasa Polygon Klasa Polygon moze takodje biti koristena za definisanje i crtanje poligona Ona je dio paketa java.awt Verzije preopterecenih metoda Polygon i fillPolygon uzimaju pojedinacni objekat tipa Polygon kao parametar umjesto niza koordinata Objekat Polygon inkapsulira koordinate poligona © 2004 Pearson Addison-Wesley. All rights reserved

Pregled Deklarisanje i koristenje nizova Nizovi objekata Liste promjenljive duzine sa parametrima Dvodimenzionalni nizovi Klasa ArrayList Poligoni i izlomljene linije Dogadjaji misa i dogadjaji tipke © 2004 Pearson Addison-Wesley. All rights reserved

Dogadjaji misa (Mouse Events) Dogadjaji koji se odnose na misa podijeljeni su na mouse events (dogadjaje misa) i mouse motion events (dogadjaje kretanja misa) Dogadjaji misa: mouse pressed Mis je pritisnut na doli mouse released Baton misa je pusten mouse clicked Baton misa je pritisnut na doli i pusten bez pokretanja misa izmedju operacija mouse entered Pokazivac misa je pomjeren na (preko) neke komponente mouse exited Pokazivac misa je pomjeren van neke komponente © 2004 Pearson Addison-Wesley. All rights reserved

Dogadjaji misa Dogadjaji kretanja misa: mouse moved Mis je pokrenut mouse dragged Mis je pokrenut dok je mis pritisnut na doli Slusaoci za dogadjaj misa su kreirani koristeci interfejse MouseListener i MouseMotionListener Objekat MouseEvent se salje odgovarajucoj metodi kada se desi dogadjaj misa © 2004 Pearson Addison-Wesley. All rights reserved

Dogadjaj misa Za dati program, mi mozemo voditi racuna samo o jednom ili dva dogadjaja misa Da bismo zadovoljili implementaciju implementaciju slusaoca, moramo uvesti prazan metod za neiskoristene dogadjaje Vidi Dots.java (strana 413) Vidi DotsPanel.java (strana 414) © 2004 Pearson Addison-Wesley. All rights reserved

Dogadjaj misa Rubberbanding je vizualni efekat u kome je neki oblik “prosiren" kada je vucen pomocu misa U slijedecem primjeru liije se neprekidno ponovo crtaju kada je mis vucen Vidi RubberLines.java (strana 417) Vidi RubberLinesPanel.java (strana 418) © 2004 Pearson Addison-Wesley. All rights reserved

Dogadjaj tipke Dogadjaj tipke (key event) se generise kada korisnik kuca na tastaturi key pressed Tipka na tastaturi je pritisnuta na doli key released Tipka na tastaturi je pustena key typed Tipka na tastaturi je pritisnuta na doli i pustena Slusaoci za dogadjaje tipke su kreirani preko implementacije interfejsa KeyListener Objekat KeyEvent je poslan odgovarajucoj metodi kada se desi dogadjaj tipke © 2004 Pearson Addison-Wesley. All rights reserved

Dogadjaj tipke Komponenta koja generise dogadjaj tipke je ona koja trenutno ima fokus na tastaturi (keyboard focus) Konstante u klasi KeyEvent mogu biti koristene za odredjivanje koja je tipka pritisnuta Slijedeci primjer “premjesta" sliku strelice kada korisnik ukucava tipke sa strelicama Vidi Direction.java (strana 421) Vidi DirectionPanel.java (strana 422) © 2004 Pearson Addison-Wesley. All rights reserved

Zakljucak U glavi 7 smo diskutovali: Deklaraciju i koristenje niza Provjeru granica i kapaciteta Nizove koji sadrze reference na objekte Liste promjenljive duzine sa parametrima Visedimenzionalne nizove Klasu ArrayList Poligone i izlomljene linije Dogadjaje misa i dogadjaje tastature © 2004 Pearson Addison-Wesley. All rights reserved