Eclipse Uputstvo

  • Published on
    26-Aug-2014

  • View
    92

  • Download
    0

Embed Size (px)

Transcript

<p>Uputstvo paket u EclipseuUvodU prethodnom uputstvu nisu korieni paketi. Klase Point, Circle i CircleTester su bile u sastavu podrazumevanog (default) paketa. Meutim, u sluaju veih projekata sa mnogo klasa bolje je staviti klase u pakete tako da svaki paket sadri skup povezanih klasa. Klase u standardnom Java SDK (Software Development Kit) takve kao String klasa ili Math klasa dizajnirane su na taj nain (one su u paketu koji se zove java.lang). Ovo uputstvo pokazuje kako da prepravite prvo uputstvo da kreirate dva Java projekta i dva paketa. Prvi projekt, nazvan geoproject, sadri paket pod nazivom geometry koji sadri klase Point i Circle. Drugi projekt, nazvan geotesterproject, sadri paket pod nazivom geotester koji sadri klasu CircleTester. Napomena: Do sada koristili smo samo jedan projekt koji sadri dva paketa a sada hoemo da pokaemo kako klase iz razliitih projekata mogu meusosbno da se referenciraju. Ovde ponovo dajemo sve tri klase iz prvog uputstva tako da moete da utedite vreme kopiranjem i stavljanjem koda u Eclipse editor, sa jedno razlikom koja se ogleda u postojanju naredbe package na poetku svake klase (oznaena crvenom bojom).</p> <p>Pointpackage geometry; /** * A class representing immutable geometrical points (x,y) * in the plane. */ public class Point { private double x; private double y;</p> <p>/** * Construct a point from its coordinates. * @param x the x coordinate of the point * @param y the y coordinate of the point</p> <p>*/ public Point(double x, double y) { this.x = x; this.y = y; }</p> <p>/** * Construct the default point (0,0). */ public Point() { x = 0.0; y = 0.0; }</p> <p>/** * Return the x coordinate of this point. * @return the x coordinate of this point */ public double getX() { return x; }</p> <p>/** * Return the y coordinate of this point. * @return the y coordinate of this point */ public double getY() { return y; }</p> <p>/** * @return a string representation of a Point */ public String toString()</p> <p>{ return "Point[" + x + ", " + y + "]"; } }</p> <p>Circlepackage geometry; /** * A class representing immutable geometrical circles. * Each circle is described by its center (a Point object) * and its radius (a double number). */ public class Circle { private Point center; private double radius;</p> <p>/** * Construct circle with given center point and radius. * @param p the center of the circle * @param r the radius of the circle */ public Circle(Point p, double r) { center = p; radius = r; }</p> <p>/** * Construct circle with given center coordinates and radius. * @param x the x coordinate of the circle center * @param y the y coordinate of the circle center * @param r the radius of the circle */ public Circle(double x, double y, double r) { center = new Point(x,y);</p> <p>radius = r; }</p> <p>/** * Construct a default circle: a unit circle with center (0,0) * and radius 1. */ public Circle() { center = new Point(); radius = 1; }</p> <p>/** * Return radius of circle. * @return radius of circle */ public double getRadius() { return radius; }</p> <p>/** * Return center of circle. * @return center of circle */ public Point getCenter() { return center; }</p> <p>/** * @return a string representation of a Circle */ public String toString() { return "Circle[" + center + ", " + radius + "]"; }</p> <p>}</p> <p>CircleTesterpackage geotester; /** * A short class to show how to test the Circle and Point classes. * This version contains a main method. */ public class CircleTester { public CircleTester() { }</p> <p>/** * Test the Point and Circle classes. */ public void doTest() { Point center = new Point(3,4); Circle c1 = new Circle(); Circle c2 = new Circle(center, 5); Circle c3 = new Circle(3, 4, 5); System.out.println("c1 = " + c1); System.out.println("c2 = " + c2); System.out.println("c3 = " + c3);</p> <p>double radius = c2.getRadius(); double x = c2.getCenter().getX(); double y = c2.getCenter().getY(); System.out.println("Radius = " + radius); System.out.println("Center x = " + x); System.out.println("Center y = " + y); }</p> <p>public static void main(String[] args)</p> <p>{ CircleTester tester = new CircleTester(); tester.doTest(); } }</p> <p>Zatvaranje projektaPodrazumevamo da ste upravo kompletirali rad prema prvom uputstvu. Nije nam vie potreban projekt nazvan first iz prvog uputstva. Umesto da ga nepovratno obriemo, samo emo ga zatvoriti. Da biste to uradili selektujte projekt first u "Package Explorer" (klikom mia na njega) a zatim izaberite stavku "Close Project" u menijue Project:</p> <p>Uoite da prozor "Package Explorer" sada ima izgled</p> <p>Koji pokazuje da projekt nije na raspolaganju. Ovime projekt nije izbrisan. Ako je potrebno da projekt ponovo otvorite samo ga selektujte i izaberite stavku "Open Project" u meniju "Project".</p> <p>Kreiranje projekataSada kreirajte projekt pod nazivom geoproject. Ovo se radi kao u prvom uputstvu: Selektujte meni "File", zatim "New" i na kraju "Project...". U okviru za dijalog koji se pojavljuje na ekranu selektujte "Java Project", kliknite miem na dugme "Next" i upiite naziv geoproject u polje "Project name:"a zatim selektujte "Finish". Na slian nain kreirajte projekt geotesterproject i prozor "Package Explorera" sada ima izgled</p> <p>Napomena: Projekt predstavlja putanju klase tako da su ovde sada dve putanje klase.</p> <p>Kreiranje paketaSada treba da kreirate paket geometry u projektu geoproject. Da biste to uradili prvo treba da selektujete projekt geoproject u "Package Exploreru". Sada selektujte meni "File", zatim "New" i na kraju "Package":</p> <p>Na ekranu se pojavljuje okvir za dijalog "New Java Package"</p> <p>U polju "Source Folder:" pojavljuje se naziv (to je upravo naziv projekta) i sada moete da u polje "Name:" upiete naziv paketa geometry:</p> <p>Sada kliknite miem na dugme "Finish" i prozor "Package Explorer" e imati sledei oblik:</p> <p>Ponovite prethodnu proceduru da biste kreirali paket geotester u projektu geotesterproject : selektujte geotesterproject, zatim "New" i na kraju "Package", upiite naziv geotester u polje "Name:" i kliknite na dugme "Finish". Prozor "Package Explorer" sada ima sledei izgled.</p> <p>Uoite da se JRE System Library (Java Runtime Environment) automatski dodaje svakom projektu. Ovo prosto znai da su standardni Java paketi i klase takvi kao to su klasa Math i klasa String na raspolaganju svakoj klasi u projektu.</p> <p>Dodavanje klasa paketu geometryStruktura projekta i paketa je sada kompletna tako da moete da dodate klase Point i Circle paketu geometry. Ovo je vrlo slino dodavanju ovih klasa default paketu u prvom uputstvu.</p> <p>Dodavanje klase PointSelektujte paket geometry u "Package Exploreru". Sada selektujte meni "File", zatim "New" i na kraju "Class" da biste na ekranu dobili okvir za dijalog "New Java Class":</p> <p>Uoite da su polja "Source Folder:" i "Package:" automatski postavljena (naziv izvornog foldera je upravo naziv projekta) tako da treba samo da upiete Point u polje "Name: " i kliknete miem na dugme "Finish". Prozor "Package Explorer" sada izgleda</p> <p>a prozor Editor pokazuje ablon klase:</p> <p>Uoite da je naredba package automatski stavljena u izvorni fajl klase Point. Izuzev komentara, to mora biti prva naredba u fajlu. Umesto upisivanja koda klase Point jednostavnije je da je iskopirate iz ovog uputstva i stavite u prozor Editor Eclipsea. Snimite fajl (izaberite "Save" u meniju "File") a klasa se automatski kompajlira. Editorski prozor sada treba da ima izgled</p> <p>Dodavanje klase CirclePonovite prethodnu proceduru da biste kreirali klasu Circle. Kada to zavrite prozor "Package Explorer" treba da ima izgled:</p> <p>a prozor Editor:</p> <p>Testiranje klasa Point i Circle sa ScrapbookKao to smo radili u prvom uputstvu, tako i ovde moemo da testiramo klase Point i Circle pomou scrapbook stranice. U prvom uputstvu pokazano je kako se kreira scrapbook stranica. Ovde se daje bri nain. Selektujte geometry u "Package Exploreru", selektujte meni "File", selektujte "New", selektujte "File", upiite test.jpage u polje "File name:" i kliknite miem na dugme "Finish". Fajl test.jpage je sada prikazan u prozoru Editor a prozor "Package Explorer" ima izgled</p> <p>Upiite neke naredbe u scrapbook stranicu tako da izgleda kao na slici:</p> <p>Selektujte sav tekst. Pokuajte da izvrite tekst (ovo je razmatrano u prvom uputstvu): Moete ili da kliknete miem na dugme za izvravanje na paleti alatki (zeleni krui koji sadri trougao sa slovom J ), ili da uradite desni klik miem na scrapbook stranici i selektujete execute, i treba da vidite neke greke:</p> <p>Klase Point i Circle nisu prepoznate. One su sada u paketu i treba da ih uvezete u scrapbook (to niste morali da radite u prvom uputstvu koje je koristilo default paket). Prvo obriite tekst greke u scrapbooku da biste ga vratili u prvobitno stanje. Da biste uvezli klase u scrapbook uradite desni klik miem u scrapbook prozoru i selektujte "Set Imports ..." da biste na ekranu dobili okvir za dijalog</p> <p>Kliknite miem na dugme "Add Packages", pomerite saraj sve dok na spisku (listi) ne naete geometry:</p> <p>Sada dvokliknite miem na geometry da biste dobili</p> <p>Kliknite miem na dugme "OK" i paket geometry je dodat scrapbookovoj putanji klasa. Vratite se sada u scrapbook, selektujte sav tekst i izvrite ga da biste dobili rezultate u konzolnom prozoru:</p> <p>Kreiranje klase CircleTesterSada treba da dodate klasu CircleTester paketu geotester u projektu geotesterproject. To se radi na isti nain kao to je raeno za klase Point i Circle. Selektujte paket geotester u "Package Exploreru":</p> <p>Selektujte meni "New", zatim "Class" i u polje "Name:" upiite CircleTester. Poto ova klasa sadri metod main moete da kliknete miem na polje za potvrdu za metod main:</p> <p>a zatim kliknete miem na dugme "Finish". Prozor "Package Explorer" sada izgleda</p> <p>a prozor Editor prikazuje</p> <p>Uoite da je obezbeen kostur (stub) za metod main. Napomena: Umesto isecanja i stavljanja teksta za ovu klasu moete upisati tekst klase CircleTester da biste videli kako editor radi a zatim ga snimite (kliknite na ikonu paleti alatki). na</p> <p>Zato to ne radi?Posle snimanja fajla uoiete u prozoru editora</p> <p>da postoje etiri markera greke na levoj margini. Zadrite pokaziva mia nad ovim markerima i videete detaljne informacije koje se odnose na njih:</p> <p>Takoe, kliknite na karticu "Problems" u prozoru ispod editora:</p> <p>Izgleda da klase Point i Circle nisu prepoznate. Problem je u tome to klasa CircleCalculator referencira klase Point i Circle koje su u drugom projektu. Do sada samo je geotesterproject na naoj putanji klase i treba da joj dodate geoproject putanju klase kako bi klase Point i Circle mogle da budu pronaene. Svaki projekt predstavlja putanju klase.</p> <p>Drugim reima, treba da "poveete" dva projekta zajedno. Da biste to uradili treba da prvo selektujete geotesterproject u prozoru "Package Explorer"(kliknite miem na njega). Sada selektujte meni "Project" a zatim "Properties":</p> <p>Na ekranu se pojavljuje prozor</p> <p>Selektujte "Java Build Path" sa liste:</p> <p>Sada selektujte karticu "Projects" i potvrdite izbor geoproject stavljanjem tzv. trikle u polje pored njega:</p> <p>Kliknite miem na dugme "OK" i putanja klase sada sadri oba projekta. Vratite se u editorski prozor i dodajte naredbe import posle naredbe package:import geometry.Point; import geometry.Circle;</p> <p>Snimite fajl i sve greke u klasi CircleTester nestaju:</p> <p>Izvravanje aplikacije CircleTesterSada moete da izvrite aplikaciju CircleTester: prvo selektujte CircleTester.java u prozoru "Package Explorer", zatim selektujte meni "Run", zatim "Run As" i na kraju selektujte "Java Application". Rezultati izvravanja se vide u konzolnom prozoru</p> <p>U sledeem uputstvu bie pokazano kako da eksterno izvravate CircleTester iz JAR fajla.</p> <p>Pripremio Dragan Markovi</p>