21
1 Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5 Kreiranje korisničkog interfejsa desktop aplikacije Primer jednostavne aplikacije: 1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju Java Application 3. Dati naziv projektu, i podesiti opcije kao na slici: Kao početak izgradnje interfejsa potrebno je kreirati jedan kontejner koji će sadržati elemente koje nameravamo da dodamo na interfejs, Kreiramo JFrame kontejner: 1. Odabrati opciju New > JFrame Form 2. Dati naziv formi i definisati paket:

Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

  • Upload
    lamnga

  • View
    247

  • Download
    8

Embed Size (px)

Citation preview

Page 1: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

1

Primenjeno programiranje - Vežbe Java i NetBeans IDE 6.5

Kreiranje korisni čkog interfejsa desktop aplikacije Primer jednostavne aplikacije:

1. Odabrati opciju File > New Project 2. Meñu kategorijama odabrati Java i podkategoriju Java Application 3. Dati naziv projektu, i podesiti opcije kao na slici:

Kao početak izgradnje interfejsa potrebno je kreirati jedan kontejner koji će sadržati elemente koje nameravamo da dodamo na interfejs, Kreiramo JFrame kontejner:

1. Odabrati opciju New > JFrame Form

2. Dati naziv formi i definisati paket:

Page 2: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

2

3. Kreira se klasa PrvaForma, unutar paketa my.SabiranjeBrojeva, otvara se prozor za dizajn forme i odgovarajuća paleta.

4. Na formu dodati jedan JPanel i zatim na formu dodati tri labele (JLabels), tri polja za unos teksta (JTextFields), i tri dugmeta (JButtons):

5. Preimenovati komponente tako da izgledaju kao na slici:

Page 3: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

3

Dodavanje funkcije dugmadima

1. Desnim klikom na dugme Izañi pojavi se konteksni meni i treba odabrati Events > Action > ActionPerformed

2. U metodi koju NetBeans kreira zameniti red: // TODO add your handling code here: Sa: System.exit(0);

3. istim postupkom na dugme Briši kod zameniti sa: jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText("");

4. ovaj kod briše sadržaj tri polja. 5. Za dugme Saberi na isti način uneti

float num1, num2, result; num1 = Float.parseFloat(jTextField1.getText()); num2 = Float.parseFloat(jTextField2.getText()); result = num1+num2; jTextField3.setText(String.valueOf(result));

Pokretanje programa:

1. Odabrati Run > Run Main Project 2. Ako upozori da projekat nema glavnu klasu, odabrati je iz liste

Page 4: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

4

3. Rezultat izvoñenja je:

4. Ako želite Windows Look and Feel u main klasu uneti naredni kod: try { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName()); } catch (Exception ex) { ex.printStackTrace(); }

5. Pa će prozor izgledati:

Page 5: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

5

Page 6: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

6

Zadatak 1. Programirati aplikaciju koji će imati sledeći korisnički interfejs:

− Pritiskom na dugme Obradi se obavljaju sledeće akcije u zavisnosti koje radi dugme je obeleženo:

o Dužina stringa: ispisuje kao rezultat obrade poruku o dužini stringa

o Ispis stringa: ispisuje kao rezultat obrade sam uneti string o Ispis stringa unazad: Ispisuje se uneti string unazad

− Pritiskom na dugme Obriši se briše sadržaj polja za unos i rezultat prethodne obrade − Pritiskom na dugme Izañi se zatvara aplikacija

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { String str = jTextField1.getText(); int duzina = str.length(); if (jRadioButton1.isSelected()) { jLabel2.setText("Duzina je:" + str.length()); } else if (jRadioButton2.isSelected()) { jLabel2.setText(str); } else { jLabel2.setText(""); for (int i = 0; i < duzina; i++) { jLabel2.setText(jLabel2.getText()+str.charAt(duzina-i-1)); } } }

Page 7: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

7

Zadatak 2. Programirati aplikaciju koji će imati sledeći korisnički interfejs:

Aplikacija treba da u donjem delu ispisuje unetu rečenicu velikim ili malim slovima u zavisnosti da li je jCheckBox selectovan ili ne private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) { String str = jTextField1.getText(); if (jCheckBox1.isSelected()) { jLabel1.setText(str.toUpperCase()); } else { jLabel1.setText(str.toLowerCase()); } }

Page 8: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

8

2. čas Postavljanje naslova u jPanel-u

1. Postaviti jPanel na formu 2. u Properties odabrati polje Border i zatim Titled Border, i uneti naslov panela u polje

Title Postavljanje radio dugmadi

1. Na formu postaviti jednu Button Group komponentu (biće vidljiva samo u Inspector-u) 2. Zatim na formu postaviti potreban broj Radio Button komponenti 3. Za svaku od Radio Button komponenti odabrati u prozoru properties opciju ButtonGroup i

u njoj selektovati Button Group kojem želimo da pripadaju Neke dodatne opcije prozora Properties za postavljenu forme

1. Željeni naslov forme se unosi u opciji Title 2. U polju Bounds se definišu koordinate početne pozicije prozora 3. Opcijom Resizable se definiše da li je prozor promenjive ili fiksne veličine

Neke dodatne opcije prozora Properties za ostale komponente

1. U polje toolTipText se unosi tekst koji se pojavljuje kada se miš nadnese nad komponentu Komponente menija

1. U cilju formiranja glavnog menija aplikacije se mogu koristiti sledeće komponenete: a. Menu Bar (1) b. Menu (2) c. Menu Item (3) d. Menu Item/CheckBox (4) e. Menu Item/RadioButton (5) f. Separator (6)

2. Komponentama Menu Item se najčešće dodaju dogañaji koji su ranije prikazani npr. za dugmad

(1)

(2)

(3)

(4)

(6)

Page 9: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

9

Pokretanje novih prozora unutar aplikacije

1. Kliknuti desnim na naziv projekta i odabrati New>Jdialog Form… 2. Odabrati naziv novog dialoga i postaviti ga u isti paket kao i osnovnu formu:

3. Izdizajnirati dialog po potrebi 4. Dodati dogañaj na neki od Menu Item-a iz glavnog menija osnovne forme (desni klik na

odgovarajući Menu Item i odabir opcije: Events>Action>actionPerformed) 5. Kopirati deo sadržaja main metoda novog dialoga (crveni kod) u metodu koja obrañuje

dogañaj tog Menu Item-a. Metoda bi izgleda slično ovom: private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { NewJDialog1 dialog = new NewJDialog1(new javax.swing.JFrame(), true); dialog.setVisible(true); }

Dodavanje opcija Combo Box-u (isto u jListi)

1. Postaviti Combo box na formu 2. U prozoru Properties u polju model uneti željene opcije

Pokretanje programa van NetBeans-a

1. Odabrati opciju Run > Clean and Build Main Project 2. Pokrenuti jar fajl u dist direktorijumu projekta

Page 10: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

10

Zadatak 3. Programirati aplikaciju koja će sadržati formu kao na slici:

U Combo box-u definisati sledeće opcije:

Dodavanje funkcija komponenti jList

1. Dodavanje elemenata u listu. Dodati naredni kod koji kreira model koji će omogućavati unos elemenata u listu (postavlja se u konstruktor metodu):

DefaultListModel listModel = new DefaultListModel(); jList1.setModel(model);

2. Za dugme Dodaj odabrati opciju Events>Action>actionPerformed i u metodu za obradu

izuzetka dodati sledeći kod:

Page 11: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

11

String str = jTextField5.getText(); model.addElement(str);

3. Brisanje lemenata iz liste. Za dugme izbaci dodati metodu za obradu izuzetka sa sledećim

kodom: int rdbroj = jList1.getSelectedIndex(); if (rdbroj == -1) { jLabel7.setText("MOrate selektovati neku stavku"); } else { model.removeElementAt(rdbroj); jLabel7.setText(""); }

4. Postavljanje sadržaja selektovanog polj liste u TextField. Na jList kliknuti desnim i

odabrati opciju Events > Mouse > MouseClicked i u metodu dodati naredni kod jTextField5.setText(listModel.getElementAt(jList1.getSelectedIndex()).toString());

ili: int broj = jList1.getSelectedIndex();

String str = model.getElementAt(broj).toString(); jTextField5.setText(str);

5. Izmena sadržaja elemenata iz liste se radi sa narednim kodom dodeljenom dugmetu izmeni

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { String str = jTextField5.getText(); int broj = jList1.getSelectedIndex(); model.removeElementAt(broj); model.add(broj, str); }

Page 12: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

12

Kreiranje desktop aplikacije sa konekcijom na bazu Uputstvo za instalaciju MySql-a i kreiranje konekcije Mysql

1. pokrenuti setup.exe i birati sledeće opcije (ako nije drugačije napomenuto prihvatiti default opcije):

a. Complete instalaciju b. Install opciju c. Skip Sign-up opciju d. Configure the MySQL server now opciju e. Finish opciju f. Standard configuration opciju g. Install as Windows Service opciju h. Include Bin Directory in Windows PATH opciju i. Modify Security setting opciju i uneti novu lozinku dva puta j. Execute opciju

2. Kopirati sa CD-a direktorijum lab_db_48 u direktorijum C:\Program Files\MySQL\MySQL Server 5.0\data

Netbeans 6.5

1. Instalirati netbeans-6.5-ml-java-windows. 2. Pokrenuti NetBeans, u kartici services otvoriti opciju Databases pa zatim Drivers i na

polje MySQL (connector-J driver) kliknuti desnim i odabrati Connect Using… i ispuniti formu:

a. Host: localhost b. Port: 3306 c. Database: lab_db_48 d. Username: root e. Password: uneti ranije unetu lozinku pri instalaciji mySql-a

Page 13: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

13

6. Pojavljuje se čvor sa detaljima konekcije:

7. Desnim klikom na naziv tabele i odabrirom opcije View Data se lista sadržaj tabele

Page 14: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

14

Kreiranje aplikacije uz pomoć postojećih tabela Slede koraci za kreiranje aplikacije:

1. Odabrati opciju File > New Project u NetBeans-u i zatim sledeće opcije:

2. U Name and Location koraku odabrati sledeće opcije:

Page 15: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

15

3. U Master Table koraku odabrati sledeće opcije

4. U Detail Options koraku klinuti Finish. 5. Sistem tada kreira osnovni korisnički interfejs sa tabelom i konekcijom na bazu.

Postavljanje dodatnih kontrola na aplikaciju 1. Ispod polja za unos lokacije dodati dve oznake (jLabel) i po jedan jSlider i jCheckBox kao

na slici:

Page 16: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

16

2. Kliknuti desnim na Slider i odabrati Bind > value i odabrati sledeće opcije:

Page 17: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

17

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:

Page 18: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

18

Kreiranje aplikacije sa novom bazom podataka

1. Ponoviti prve korake za Kreiranja korisničkog interfejsa desktop aplikacije sve do kreiranja početnog okvira

2. Kreirati novu bazu odabirom sledeće opcije:

3. Uneti naziv nove baze

4. Kreirati nove tabele

Page 19: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

19

5. definisati potrebne kolone

6. i uneti odgovarajuće podatke

Page 20: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

20

7. 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 java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import 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(); } };

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(); } }

Page 21: Primenjeno programiranje - Vežbe Java i NetBeans IDE 6 · PDF fileJava i NetBeans IDE 6.5 Kreiranje korisni čkog interfejsa desktop aplikacije ... Primenjeno programiranje - vezbe

21

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);