Primenjeno programiranje - Vežbe. Java i NetBeans IDE 6.5, 1. čas. Kreiranje
novog projekta. 1. Pokrenite NetBeans IDE. 2. Odaberite opciju File > New
Project ...
Primenjeno programiranje - Vežbe Java i NetBeans IDE 7.0
Kreiranje novog projekta 1. Pokrenite NetBeans IDE. 2. Odaberite opciju File > New Project (Ctrl-Shift-N), kao na slici.
3. U dijalogu New Project wizard, otvorite kategoriju Java i odaberite Java Application i pritisnite Next
4. Na stranici Name and Location uradite kao na slici: a. U polje Project Name unesite HelloWorldApp. b. Ostavite Use Dedicated Folder for Storing Libraries čekboks neselektovan. c. U polje Create Main Class unesite helloworldapp.HelloWorldApp. d. Selektujte Set as Main Project. e. Kliknite Finish
1
5. Nakon toga projekat je kreiran i otvoren. Prozor NetBens IDE bi trebao da prikazuje sledeće komponente: a. Listu projekata u prozoru Projects, koji sadrži stablo svih komponenti projekta, kao što su fajlovi sa kodom, biblioteke koje se koriste… b. Editor koda - Source Editor sa otvorenim fajlom pod nazivom HelloWorldApp. c. Prozor za navigaciju - Navigator, za brzu navigaciju između elemenata selektovane klase d. Lista sa rezultatima - Tasks, koji lista greške prilikom kompajliranja i druge komentare. (ako se prikazuje moguće je odabrati sa Window>Tasks)
2
6. Pošto smo čekirali prethodno opciju Create Main Class, IDE je kreirao main klasu umesto nas. Na mesto komenatara: // TODO code application logic here
7. Moguće je uneti proizvoljan kod, na primer: System.out.println("Hello World!");
8. 9. 10. 11.
Izmene se čuvaju sa opcijom File > Save. IDE ima opciju: Compile on Save, te nije potrebno izričito kompajlirati projekat da bi se pokrenuo. Za pokretanje programa treba odabrati opciju: Run > Run Main Project (F6). Ako program ne sadrži greške rezultat izvođenja ovog programa se prikazuje:
Osnovni elementi Java Programa Zadatak 1. Napisati program koji ispisuje pozdravnu poruku na sistemski izlaz class HelloWorldApp { public static void main(String[] args) { // ispis stringa. System.out.println("Hello World!"); } }
Zadatak 2. Napisati program koji štampa istinitosnu vrednost izraza: 2 + 2 = 4 public class Demo { public static void main (String[] arg) { boolean b; b = (2 + 2 == 4); System.out.println(b); } }
Zadatak 3. Napisati program koji ispisuje trenutni datum i vreme import java.util.*; public class HelloDate { public static void main(String[] args) { System.out.println(“Pozdrav, sad je: "); System.out.println(new Date()); } }
3
Naredba dodele Zadatak 4: Napisati program koji definiše dve promenjive celobrojnog tipa pod imenom prva i druga, i tri promenjive tipa realnih brojeva sa imenima x, y i z, i jednu promenjivu istina tipa boolean. Promenjivoj prva dodeliti vrednost 6, promenjivoj druga dodeliti vrednost 32, promenjivoj y dodeliti vrednost 34.15.
package zadatak1; public class Zadatak1 { public static void main(String[] args) { int prva=6, druga=32; double x, y=34.15, z; boolean istina; } } Zadatak 5. Kreirati dve promenjive celobrojnog tipa (broj1 i broj2), tri promenjive tipa realnih brojeva (real1, real2 i real3) i dve promenjive tipa boolean (kraj i uspesnoIzracunavanje). Promenjivima celobrojnog tipa i po jednoj od promenjivih tipa realnih brojeva i tipa boolean dati proizvoljne početne vrednosti.
package zadatak2; public class Zadatak2 { public static void main(String[] args) { int broj1=7, broj2=13; double real1, real2=13.5, real3; boolean kraj =true, uspesnoIzracunavanje = false; } }
Zadatak 6. Napisati program koji će kreirati dve promenjive realnog tipa podataka sa imenima osnova i visina, sa vrednostima 5.0 i 7.0, i jednu promenjivu povrsina takođe realnog tipa. Izračunati površinu trougla i rezultat smestiti u promenjivu povrsina. Na kraju štampati poruku o iznosu površine. package zadatak2; public class Zadatak2 { public static void main(String[] args) { double osnova = 5.0, visina = 7.0, povrsina; povrsina = (osnova*visina)/2.0; System.out.println("Povrsina trougla je: "+povrsina+"!"); } }
4
Zadatak 7. Napisati program u kojem će biti kreirane 7 promenjivih realnog tipa: br1, br2, br3, br4, br5, prosek i suma, sa proizvoljnim početnim vrednostima. U promenjivoj prosek smestiti rezultat izračunavanja srednje vrednosti 5 unetih brojeva a u promenjivoj suma zbir promenjivih. Rezultate ispisati na sistemski izlaz. package zadatak2; public class Zadatak2 { public static void main(String[] args) { double br1 = 3.2, br2 = 3.5, br3 = 5.6, br4 = 1.7, br5 = 2.3; double prosek, suma ; suma = br1 + br2 + br3 + br4 + br5; prosek = suma/5; System.out.println("Suma brojeva je: " + suma); System.out.println("Prosek brojeva je: " + prosek); } }
Zadatak 8. Napisati program u kojem se uz pomoć dve promenjive tipa double izvršava konverzija vrednosti dužine izražene u kilometrima u dužinu izreaženu u miljama, i obrnuto. public class KonverzijaDaljina { public static void main(String[] args) { double duzinaMilje; // vrednost duzine u miljama double duzinaKilometri; // vrednost duzine u kilometrima // konverzija 5 km u milje i stampanje rezultata duzinaKilometri = 5.0; duzinaMilje = duzinaKilometri * 0.6214; System.out.println("5 km = " + duzinaMilje + " milja"); // Konverzija 5 milja u kilometre i stampanje rezultata duzinaMilje = 5.0; duzinaKilometri = duzinaMilje * 1.609; System.out.println("5 milja = " + duzinaKilometri + " km"); } }
5
Upotreba sistemskog ulaza Zadatak 9. Napisati program koji će od korisnika tražiti da unese vrednosti stranica pravougaonika i zatim izračunati i štampati vrednost površine tog pravougaonika. package zadatak5; import java.util.Scanner; public class Zadatak5 { public static void main(String[] args) { double stranicaA, stranicaB, povrsina; Scanner ulaz = new Scanner(System.in); System.out.print("Unwsite stranicu a pravougaonika: "); stranicaA = ulaz.nextDouble(); System.out.print("Unesite stranicu B pravougaonika: "); stranicaB = ulaz.nextDouble(); povrsina = stranicaA * stranicaB; System.out.println("POvrsina pravougaonika iznosi: "+povrsina); } }
Zadatak 10. Napisati program koji izračunava zbir dva broja koje unosi korisnik import java.util.Scanner; // programu je potrebna Scanner klasa public class AddTwoInts { public static void main(String[] args) { int prviBroj; int drugiBroj; int suma; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.print("Unesite prvi broj: "); prviBroj = consoleIn.nextInt(); System.out.print("Unesite drugi broj: "); drugiBroj = consoleIn.nextInt(); suma = prviBroj + drugiBroj; System.out.println("Zbir je: " + suma); } }
6
Zadatak 11. Napisati program koji vrši izračunavanje obima i površine kruga. import java.util.Scanner; public class Krug { public static void main (String[] vpar) { double poluprecnik; double obim, povrsina; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.print("Unesite poluprecnik kruga: "); poluprecnik = consoleIn.nextDouble(); povrsina = poluprecnik * poluprecnik * Math.PI; obim = 2 * poluprecnik * Math.PI; System.out.println ("Obim kruga iznosi: " + obim); System.out.println("Povrsina kruga iznosi: " + povrsina); } }
IF i SWITCH naredba
Zadatak 12. Napisati program koji traži od korisnika da unese iznos svoje mesečne plate. Ako je plata veća od 75000, program treba da ispiše poruku o bonusu u iznosu od 1000 dinara. Ako je plata nije veća od 75000, program treba da ispiše poruku o bonusu od 2000 dinara
import java.util.Scanner; public class Bonus { public static void main(String[] args) { double plata; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.print("Unesite iznos Vase plate: "); plata = consoleIn.nextDouble(); if (plata > 75000){ System.out.println("Vas ovomesecni bonus iznosi 1000 dinara"); }else{ System.out.println("Vas ovomesecni bonus iznosi 2000 dinara"); } } }
7
Zadatak 13. Napisati program koji traži od korisnika da unese dva broja i kao rezultat ispisuje manji import java.util.Scanner; public class HelloWorldApp { public static void main(String[] args) { double prvi, drugi; Scanner consoleIn = new Scanner( System.in ); System.out.println("Unesite prvi broj: "); prvi = consoleIn.nextDouble(); System.out.println("Unesite drugi broj: "); drugi = consoleIn.nextDouble(); if (prvi < drugi){ System.out.println("broj " + prvi + " je manji"); }else if (drugi < prvi){ System.out.println("broj " + drugi + " je manji"); }else{ System.out.println("Brojevi su isti"); } } }
Zadatak 14. Napisati program koji proverava da li je uneti broj paran ili neparan. public class IfElse{ public static void main(String[] args){ int n; Scanner ulaz = new Scanner(System.in); n = ulaz.nextInt(); if (n % 2 == 0){ System.out.println("Uneti broj je paran."); }else{ System.out.println("Uneti broj je neparan."); } } }
Zadatak 15. Napisati program koji traži od korisnika da unese ime i godine starosti deteta kao i rezultat testa. Ako je ili broj godina veće od šest ili rezultat testa veći ili jednak od 85, program treba da ispiše poruku da je dete spremno za prvi razred. Inače, treba ispisati poruku da dete treba da pokusa naredne godine import java.util.Scanner; public class HelloWorldApp { public static void main(String[] args) { double rezultat; int starost; String ime; Scanner ulaz = new Scanner( System.in );
8
System.out.println("Unesite ime deteta: "); ime = ulaz.next(); System.out.println("Unesite starost deteta: "); starost = ulaz.nextInt(); System.out.println("Unesite broj bodova"); rezultat = ulaz.nextDouble(); if (starost > 6 || rezultat > 85){ System.out.println(ime + " je spreman/na za prvi razred"); }else{ System.out.println(ime + " treba da saceka narednu godinu"); } } }
Zadatak 16. Napisati program koji učitava tri broja i zatim ih ispisuje u rastućem rasporedu import java.util.Scanner; public class Uredi { public static void main (String[] args) { int a, b, c, pom; System.out.print ("Unesite tri prirodna broja: "); Scanner consoleIn = new Scanner(System.in); a = consoleIn.nextInt(); b = consoleIn.nextInt(); c = consoleIn.nextInt(); if (a > b) { pom = a; a = b; b = pom; } if (a > c) { pom = a; a = c; c = pom; } if (b > c) { pom = b; b = c; c = pom; } System.out.println ("Uredjeno: " + a + " " + b + " " + c); } }
Ili: if ( a < b ) { if ( c < a ) System.out.println( else if ( c > b ) System.out.println( else System.out.println( } else { if ( c < b ) System.out.println( else if ( c > a ) System.out.println( else System.out.println( }
c + " " + a + " " + b); a + " " + b + " " + c); a + " " + c + " " + b);
c + " " + b + " " + a); b + " " + a + " " + c); b + " " + c + " " + a);
9
Zadatak 17. Napisati program koji pronalazi najmanji od tri uneta prirodna broja import java.util.Scanner; public class Min { public static void main (String[] args) { int a, b, c; System.out.print ("Uneite tri prirodna broja: "); Scanner ulaz = new Scanner(System.in); a = ulaz.nextInt(); b = ulaz.nextInt(); c = ulaz.nextInt(); int min = a; if (b < min) min = b; if (c < min) min = c; System.out.println ("Najmanji je : " + min); } }
Zadatak 18. Napisati program koji od korisnika traži unos dva realna broja a zatim obavlja operaciju u zavisnosti od izbora korisnika. Od korisnika se traži izbor jedne od narednih opcija: zbir, razlika, proizvod, količnik. Pomoć: od korisnika se traži unos slova: 1 za zbir, 2 za razliku, 3 za proizvod, 4 za količnik. Potrebno je koristiti promenjivu tipa int koja će primiti odgovarajuću vrednost import java.util.Scanner; public class HelloWorldApp { public static void main(String[] args) { double prvi, drugi; int operacija; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.println(„Unesite prvi broj: „); prvi = consoleIn.nextDouble(); System.out.println(„Unesite drugi broj: „); drugi = consoleIn.nextDouble(); System.out.println(„Unesite operaciju: „); System.out.println(„1 za zbir, 2 za kolicnik, 3 za razliku, 4 za proizvod“); operacija = consoleIn.nextInt(); switch (operacija){ case 1: System.out.println(„Zbir iznosi: „ + (prvi + drugi)); break; case 2: System.out.println(„Kolicnik iznosi: „ + (prvi/drugi)); break; case 3: System.out.println(„Razlika iznosi: „ + (prvi-drugi)); break; case 4: System.out.println(„Proizvod iznosi: „ + (prvi*drugi));
10
break; default: System.out.println(„Neispravna operacija!“); } } }
Zadatak 19. Napisati program koji učitava godinu studija studenta u obliku celog broja i zatim štampa da li je student brucoš, student druge godine, student treće godine ili apsolvent u zavisnosti da li je unet broj 1, 2, 3 ili 4. ponuditi rešenje uz pomoć if naredbe kao i uz switch. import java.util.Scanner; public class HelloWorldApp { public static void main(String[] args) { int godinaStudija; Scanner consoleIn; consoleIn = new Scanner( System.in ); System.out.println(„Koja ste godina studija: „); godinaStudija = consoleIn.nextInt(); switch (godinaStudija){ case 1:System.out.println(„Vi ste Brucos“);break; case 2:System.out.println(„Vi ste student druge godine“);break; case 3:System.out.println(„Vi ste student trece godine“);break; case 4:System.out.println(„Vi ste apsolvent“);break; default:System.out.println(„Neispravna godina studija!“); } } }
Ili sa ekvivalentnim if: if (godinaStudija == 1){ System.out.println(„Vi ste Brucos“); }else if(godinaStudija == 2){ System.out.println(„Vi ste student druge godine“); }else if(godinaStudija == 3){ System.out.println(„Vi ste student trece godine“); }else if(godinaStudija == 4){ System.out.println(„Vi ste apsolvent“); }else{ System.out.println(„Neispravna godina studija!“); }
11
Zadatak 20. Napisati program koji u zavisnosti od rednog broja meseca u godini ispisuje njegov naziv public class SwitchPrimer { public static void main(String[] args) { int month = 8; String monthString; switch (month) { case 1: monthString = "Januar"; break; case 2: monthString = "Februar"; break; case 3: monthString = "Mart"; break; case 4: monthString = "April"; break; case 5: monthString = "Maj"; break; case 6: monthString = "Jun"; break; case 7: monthString = "Jul"; break; case 8: monthString = "August"; break; case 9: monthString = "Septembar"; break; case 10: monthString = "Octobar"; break; case 11: monthString = "Novembar"; break; case 12: monthString = "Decembar"; break; default: monthString = "Neodgovarajuci mesec"; break; } System.out.println(monthString); } }
Isti zadatak uz pomoć if naredbe: int month = 8; if (month == 1) { System.out.println("Januar"); } else if (month == 2) { System.out.println("Februar"); } else if (month == 3) { System.out.println("Mart"); } else if (month == 4) { System.out.println("April"); } else if (month == 5) { System.out.println("Maj"); } else if (month == 6) { System.out.println("Jun"); } else if (month == 7) { System.out.println("Jul"); } else if (month == 8) { System.out.println("Avgust"); } else if (month == 9) { System.out.println("Septembar"); } else if (month == 10) { System.out.println("Oktobar"); } else if (month == 11) { System.out.println("Novembar"); } else if (month == 12) { System.out.println("Decembar"); } else { System.out.println(“Neodgovarajući mesec”); } ...
// itd
12
Zadatak 21. Napisati program koji na osnovu datuma prikazuje koliko taj mesec ima dana class SwitchPrimer2 { public static void main(String[] args) { int month = 2; int year = 2000; int numDays = 0; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: numDays = 31; break; case 4: case 6: case 9: case 11: numDays = 30; break; case 2: if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0)) numDays = 29; else numDays = 28; break; default: System.out.println("Invalid month."); break; } System.out.println("Number of Days = "+ numDays); } }
13
FOR, WHILE i DO naredbe Primer 22. Primer for petlje: class ForDemo { public static void main(String[] args){ for(int i=1; i value i odabrati sledeće opcije:
57
3. Isto uraditi i za jLabel2 ali sa opcijom Bind > Text 4. Kliknuti desnim na Check Box i odabrati Bind > value i odabrati sledeće opcije:
5. U opciji Properties za Slider komponentu postaviti Minimalnu i Maximalnu vrednost na 4000 i 4050, tim redom 6. Pokretanjem programa se dobija sledeća forma:
58
U main metodi potrebno je definisati i otvoriti konekciju: try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/Projekat","root","root"); stmt = conn.createStatement(); }catch(Exception ex){ ex.printStackTrace(); }
8. Definisati potrebne promenjive i dodati odgovarajuće import-e: public static Connection conn; public static Statement stmt; public static ResultSet rezultati; import import import import
java.sql.Connection; java.sql.DriverManager; java.sql.ResultSet; java.sql.Statement;
9. Ako, na primer, želimo da popunimo combo box sa imenima igraca potrebno je postaviti na formu jComboBox 10. definisati metodu puniCombo(): public void puniCombo(){ ResultSet rez; String sql="SELECT ime, prezime FROM projekat.radnik ORDER BY prezime"; try{ rez=stmt.executeQuery(sql); while (rez.next()) { jComboBox1.addItem(rez.getString("ime")+" "+rez.getString("prezime")); } }catch(Exception ex){ ex.printStackTrace(); } };
59
11. i postaviti poziv metode: puniCombo() u konstruktor metodi 12. Za izračunavanje proseka plata i njegovo ispisivanje u jLabel komponenti može se napisati sledeća metoda: public void izracunajProsek(){ ResultSet rez; String sql="SELECT avg(plata) FROM projekat.radnik"; try{ rez=stmt.executeQuery(sql); while (rez.next()) { Float pom = rez.getFloat("avg(plata)"); jLabel1.setText("Prosecna plata iznosi: "+String.valueOf(pom)+" din."); } }catch(Exception ex){ ex.printStackTrace(); } }
13. Izmena širine kolona u jTable TableColumn kolone=null; kolone = jTable1.getColumnModel().getColumn(1); kolone.setPreferredWidth(150); kolone = jTable1.getColumnModel().getColumn(2); kolone.setPreferredWidth(150);
60
Zadatak Kreirati aplikaciju koja će služiti za prikaz Informacionog sistema bioskopa Baza podataka bioskop treba da sadrži sledeće tabele: • • • • •
Film sa sledećim podacima: šifra filma, naziv filma, režiser, glavna uloga, dužina filma, žanr Sala sa sledećim podacima: šifra sale, naziv sale, kapacitet sale, maksimalni broj dnevnih projekcija Zaposleni sa sledećim podacima: šifra zaposlenog, ime, prezime, radno mesto, godiste, plata, stručna sprema Proizvodi (proizvodi koji se mogu kupiti u bioskopu – kokice, sokovi, itd) sa sledećim podacima: šifra proizvoda, naziv proizvoda, tip proizvoda, cena, trenutna raspoloživa količina Rezervacija sa sledećim podacima: šifra rezervacije, ime posetioca, broj karata, vreme projekcije
Aplikacija treba da sadrži naredne prozore koji će prikazivati podatke iz baze podataka:
61
Kod za unos podataka o zaposlenom (aktivira se dugmetom Unesi podatke): try{ Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection ("jdbc:mysql://localhost:3306/bioskop","root",""); stmt = conn.createStatement(); PreparedStatement pstmt; String ime = jTextField1.getText(); String prezime = jTextField2.getText(); int sifra = Integer.parseInt(jTextField3.getText()); String mesto = jComboBox1.getSelectedItem().toString(); int god = Integer.parseInt(jTextField4.getText()); int plata = Integer.parseInt(jLabel9.getText()); String sprema = jComboBox2.getSelectedItem().toString(); String insertQuery = "INSERT INTO zaposleni (sifr, ime, prezime, rdmesto, godiste, plata, ss)" +"VALUES" +"(?, ?, ?, ?, ?, ?, ?)"; pstmt = conn.prepareStatement(insertQuery); pstmt.setInt(1, sifra); pstmt.setString(2, ime); pstmt.setString(3, prezime); pstmt.setString(4, mesto); pstmt.setInt(5, god); pstmt.setInt(6, plata); pstmt.setString(7, sprema); int rowCount = pstmt.executeUpdate(); pstmt.close(); conn.close(); }catch(Exception ex){ ex.printStackTrace(); }
62
Kreiranje najjednostavnije aplikacije za projekat 1. Kreirati nekoliko tabela u MySQL-u po ranijim uputstvima 2. Kreirati nov projekat, pa zatim novi jFrame u okviru tog projekta:
3. Na prozoru postaviti glavni meni i/ili nekoliko dugmadi koji će kasnije biti postavljeni kao linkovi ka pojedinim prozorima 4. Kreirati posebne prozore koji će prikazivati svaki po jednu ranije definisanu tabelu iz baze uz pomoć opcije:
i
63
Zatim:
5. Zatim u narednim koracima odabrati opcije za prikaz podataka iz tabela:
64
6. Zatim sledeći kod iz main metoda svake Master/detail forme EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); frame.setContentPane(new NewMasterDetailForm()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } });
7. Kopirati u odgovarajući metod koji se pokreće pritiskom odgovarajućeg dugmeta sa osnovnog prozora private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new JFrame(); frame.setContentPane(new NewMasterDetailForm()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } }); }
8. Na taj način je kreirana jednostavna aplikacija koja na osnovnom prozoru prikazuje nekoliko dugmadi i gde svako dugme pokreće odgovarajuću master/detail formu za prikaz podataka iz po jedne tabele baze podataka.
65
Dodatni primeri: Deo koda kojim se postiže centriranje prozora: Dimension dim=Toolkit.getDefaultToolkit().getScreenSize(); int w = frame.getSize().width; int h = frame.getSize().height; int x = (dim.width-w)/2; int y = (dim.height-h)/2; frame.setLocation(x,y); Moguće je koristiti sledeće delove koda, kako bi se korisnik obavestio o uspešnosti ili neuspešnosti unosa, izmene i brisanja podataka: JOptionPane.showMessageDialog(this, "Uspešan unos ili izmena!", "Obaveštenje o unosu", JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(this, "Greška pri unosu ili izmeni!", "Obaveštenje o unosu", JOptionPane.ERROR_MESSAGE); int brisanje = JOptionPane.showConfirmDialog(this,"Da li ste sigurni?", "Brisanje",JOptionPane. WARNING_MESSAGE); if (brisanje==0) { JOptionPane.showMessageDialog(this,"Uspešno brisanje!", "Obaveštenje o brisanju",JOptionPane.INFORMATION_MESSAGE); }else{ JOptionPane.showMessageDialog(this,"Brisanje otkazano!", "Obaveštenje o brisanju",JOptionPane.INFORMATION_MESSAGE); } Unos pretrage u tabeli Na svakoj Master/Detail formi, moguće je dodati polje za pretragu. Da bi omogućili pretragu, neophodno je da: 1. fajl RowSorterToStringConverter.java, prekopirati u paket aplikacije i kompajlirati ga. 2. Prevući fajl mišem na formu za koju se pravi pretraga. Tada će se taj fajl naći u odeljku Inspector (pod Other Components). Tu je potrebno desnim klikom otvoriti Properties i za table podesiti MasterTable. 3. Nakon toga, desni klik na tekstualno polje za pretragu pa Bind→ text, kako bi se izvršila neophodna podešavanja u tabu Basic i u tabu Advanced. 4. Ponavljanjem ovog postupka za svaku Master/Detail Formu, može se omogućiti pretraga svake tabele putem odgovarajuće Master/Detail Forme. Pokretanje aplikacije van NetBeansa Na kraju se naredbom Build (desni klik na projekat) kreira izvršni fajl (.jar), kojim se pokreće aplikacija van Netbeans-a.Taj fajl se nalazi u folderu dist koji je podfolder osnovnog projekta. Taj RadnikProjekat.jar fajl služi Vam za pokretanje aplikacije van Netbeansa (izvući prečicu npr. na desktop i dvoklikom na nju otvara se aplikacija iako je Netbeans zatvoren. 66