Java Fisiere Operatii de intrareiesire cu fisiere si

  • Slides: 22
Download presentation
Java – Fisiere Operatii de intrare/iesire cu fisiere si date stocate: n prin serializare

Java – Fisiere Operatii de intrare/iesire cu fisiere si date stocate: n prin serializare n in tablou n in Vector

Aplicatia 1 Se pune problema implementarii unei aplicatii care sa gestioneze plante. Planta este

Aplicatia 1 Se pune problema implementarii unei aplicatii care sa gestioneze plante. Planta este definitia prin nume, cantitate si pret. Cantitatea se poate modifica ca urmare a vanzarilor. Datele trebuie sa fie stocate in fisiere (nu neaparat text), iar aplicatia trebuie sa tina un log fisier text al vanzarilor. Implementarea se realizeaza prin 3 metode. Prima impementare la baza conceptul de serializare, starea aplicatiei fiind salvata intr-un fisier text.

Aplicatia 1 - concepte n n n pachetul java. io asigura opratiile de intrare/iesire

Aplicatia 1 - concepte n n n pachetul java. io asigura opratiile de intrare/iesire prin fluxuri de date, serializare si sistemul de fisiere; fluxul reprezinta un transfer de date printr-un canal de comunicatie, ce are la un capat un generator, iar la celalat un receptor; exista mai multe tipuri de fluxuri (stream) in pachetul java. io: n Input. Stream si Output. Stream: functii de baza de I/E pentru fluxuri nestructurate de octeti, folosite des pentru a construi alte fluxuri pe octeti; n Reader si Writer: functii de baza de I/E pentru secvente de caractere, folosite des pentru construirea altor flucuri pe caractere; fluxurile asigura comunicatia intr-un singur sens; clasa java. io. File incapsuleaza informatiile pentru accesul la fisiere sau directori; serializarea este o facilitate prin care starea unui obiect se salveaza sau incarca automat dintr-un flux.

Aplicatia 1 / 1 import java. io. Serializable; /** Clasa Planta se foloseste pentru

Aplicatia 1 / 1 import java. io. Serializable; /** Clasa Planta se foloseste pentru * stocarea datelor referitoare * la o planta din aplicatie. * @author Cineva * @version 1. 0 * * */ public class Planta implements Serializable { /** Variabila de insntanta <b>nume</b> are tipul Strig si * se foloseste * pt. stocarea numelui plantei. */ private String nume; /** Variabila de instanta <b>cantitate</B> are tipul * int si stocheaza <i>cantintatea</i> din planta. */ private int cantitate; private double pret; /** *Constructorul clasei Planta are 3 parametrii * @param nume descriere 1 * @param cantitate descriere 2 * @param pret descriere 3 */ public Planta(String nume, int cantitate, double pret) { this. nume = nume; this. cantitate = cantitate; this. pret = pret; } } /** * orice comentariu * @return intoarce starea unui obiect de clasa Planta */ public String to. String() { return nume +" | " + cantitate + " | "+pret; } public void set. Nume(String nume) { this. nume = nume; } public String get. Nume() { return nume; } public void set. Cantitate(int cantitate) { this. cantitate = cantitate; } public int get. Cantitate() { return cantitate; } public void set. Pret(double pret) { this. pret = pret; } public double get. Pret() { return pret; }

Aplicatia 1 / 2 import java. awt. Border. Layout; import java. awt. Dimension; import

Aplicatia 1 / 2 import java. awt. Border. Layout; import java. awt. Dimension; import java. awt. Grid. Layout; import java. awt. Rectangle; import java. awt. event. Action. Event; import java. awt. event. Action. Listener; import import java. io. Buffered. Reader; java. io. File. Not. Found. Exception; java. io. File. Output. Stream; java. io. File. Reader; private JText. Field j. Text. Field 2 = new JText. Field(); private JText. Field j. Text. Field 3 = new JText. Field(); private JLabel j. Label 1 = new JLabel(); private JLabel j. Label 2 = new JLabel(); private JLabel j. Label 3 = new JLabel(); private JButton j. Button 1 = new JButton(); private JButton j. Button 2 = new JButton(); private JButton j. Button 3 = new JButton(); private JScroll. Pane j. Scroll. Pane 1 = new JScroll. Pane(); private JText. Area j. Text. Area 1 = new JText. Area(); private JButton j. Button 4 = new JButton(); import java. io. Print. Writer; public f 1() { try { jb. Init(); my. Init(); } catch (Exception e) { e. print. Stack. Trace(); } } import java. util. String. Tokenizer; private void my. Init() { import java. io. File. Writer; import java. io. IOException; import import javax. swing. JButton; javax. swing. JFrame; javax. swing. JLabel; javax. swing. JOption. Pane; javax. swing. JScroll. Pane; javax. swing. JText. Area; javax. swing. JText. Field; public class f 1 extends JFrame { private JText. Field j. Text. Field 1 = new JText. Field(); Listare(); } private void Listare() { String linie = null; Buffered. Reader fin = null; String n; int c; double p;

Aplicatia 1 / 3 try { fin = new Buffered. Reader(new File. Reader("plante. txt"));

Aplicatia 1 / 3 try { fin = new Buffered. Reader(new File. Reader("plante. txt")); } catch (File. Not. Found. Exception f) { } try { j. Text. Area 1. set. Text(""); while ((linie = fin. read. Line()) != null) { //extragerea simbolurilor pe baza separatorului , String. Tokenizer t = new String. Tokenizer(linie, "/"); n = t. next. Token(); c = Integer. parse. Int(t. next. Token()); p = Double. parse. Double(t. next. Token()); System. out. println(n + c + p); j. Text. Area 1. append(n + " | " + c + " | " + p + "n"); } fin. close(); fin = null; } catch (IOException f) { } } private void jb. Init() throws Exception { this. get. Content. Pane(). set. Layout(null); this. set. Size(new Dimension(434, 330)); this. set. Title("plante"); j. Text. Field 1. set. Bounds(new Rectangle(70, 40, 160, 30)); j. Text. Field 2. set. Bounds(new Rectangle(70, 85, 160, 30)); j. Text. Field 3. set. Bounds(new Rectangle(70, 135, 160, 30)); j. Label 1. set. Text("denumire"); j. Label 1. set. Bounds(new Rectangle(5, 40, 60, 35)); j. Label 2. set. Text("cantitate"); j. Label 2. set. Bounds(new Rectangle(5, 90, 65, 20)); j. Label 3. set. Text("pret"); j. Label 3. set. Bounds(new Rectangle(15, 135, 55, 25)); j. Button 1. set. Text("Cumparare"); j. Button 1. set. Bounds(new Rectangle(20, 185, 110, 35)); j. Button 1. set. Tool. Tip. Text("Se cumpara plata din denumire"); j. Button 1. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 1_action. Performed(e); } }); j. Button 2. set. Text("Listare"); j. Button 2. set. Bounds(new Rectangle(20, 223, 110, 35)); j. Button 2. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 2_action. Performed(e); } }); j. Button 3. set. Text("Adaugare"); j. Button 3. set. Bounds(new Rectangle(20, 260, 110, 35)); j. Button 3. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 3_action. Performed(e); } }); j. Scroll. Pane 1. set. Bounds(new Rectangle(245, 40, 175, 200)); j. Button 4. set. Text("Iesire"); j. Button 4. set. Bounds(new Rectangle(310, 255, 105, 35)); j. Button 4. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 4_action. Performed(e); } });

Aplicatia 1 / 4 } j. Scroll. Pane 1. get. Viewport(). add(j. Text. Area

Aplicatia 1 / 4 } j. Scroll. Pane 1. get. Viewport(). add(j. Text. Area 1, null); this. get. Content. Pane(). add(j. Button 4, null); this. get. Content. Pane(). add(j. Scroll. Pane 1, null); this. get. Content. Pane(). add(j. Button 3, null); this. get. Content. Pane(). add(j. Button 2, null); this. get. Content. Pane(). add(j. Button 1, null); this. get. Content. Pane(). add(j. Label 3, null); this. get. Content. Pane(). add(j. Label 2, null); this. get. Content. Pane(). add(j. Label 1, null); this. get. Content. Pane(). add(j. Text. Field 3, null); this. get. Content. Pane(). add(j. Text. Field 2, null); this. get. Content. Pane(). add(j. Text. Field 1, null); private void j. Button 1_action. Performed(Action. Event e) { String n 1 = j. Text. Field 1. get. Text(); int c 1 = Integer. parse. Int(j. Text. Field 2. get. Text()); String linie = null; Buffered. Reader fin = null; String n; int c; double p; Print. Writer pr, pv; try { fin = new Buffered. Reader(new File. Reader("plante. txt")); pr = new Print. Writer(new File. Output. Stream("plante 1. txt", true)); pv = new Print. Writer(new File. Output. Stream("Plante. Vandute. txt", true)); while ((linie = fin. read. Line()) != null) { //extragerea simbolurilor pe baza separatorului , String. Tokenizer t = new String. Tokenizer(linie, "/"); n = t. next. Token(); c = Integer. parse. Int(t. next. Token()); p = Double. parse. Double(t. next. Token()); if (n 1. equals(n)) { if (c 1 > c) { JOption. Pane. show. Message. Dialog(null, "out of stock", "EROARE la Vinzare", JOption. Pane. INFORMATION_MESSAGE ); pr. close(); pr = null; fin. close(); fin = null; pv. close(); pv = null; return; } System. out. println("Egalitate la: " + n); pr. println(n + "/" + (c - c 1) + "/" + p); pv. println(n + "/" + c 1); } else { pr. println(n + "/" + c + "/" + p); } //j. Text. Area 1. append(n +" | " + c + "|"+ p +"n");

Aplicatia 1 / 5 } pr. flush(); pr. close(); pr = null; } fin.

Aplicatia 1 / 5 } pr. flush(); pr. close(); pr = null; } fin. close(); fin = null; pv. close(); pv = null; System. gc(); } catch (IOException f) { System. out. print(f. to. String()); } File file = new File("plante. txt"); file. set. Writable(true); if (file. delete()) { System. out. println(file. get. Name() + " is deleted!"); } else { System. out. println("Delete operation is failed > " + file. get. Name()); } File oldfile = new File("plante 1. txt"); File newfile = new File("plante. txt"); if (oldfile. rename. To(newfile)) { System. out. println("Rename succesful"); } else { System. out. println("Rename failed"); } } private void j. Button 3_action. Performed(Action. Event e) { String n; int c; double p; Print. Writer pr; try { pr = new Print. Writer(new File. Output. Stream("plante. txt", true)); try { n = j. Text. Field 1. get. Text(); c = Integer. parse. Int(j. Text. Field 2. get. Text()); p = Double. parse. Double(j. Text. Field 3. get. Text()); pr. println(n + "/" + c + "/" + p); pr. close(); pr=null; } catch (Number. Format. Exception e 1) { System. out. println(e 1); } } catch (File. Not. Found. Exception f) { pr=null; } Listare(); } public static void main(String[] args) { f 1 f = new f 1(); f. set. Visible(true); } private void j. Button 2_action. Performed(Action. Event e) { Listare(); } private void j. Button 4_action. Performed(Action. Event e) { System. exit(0); }

Aplicatia 2 Urmatoare implementare la baza conceptul de tablou. Plantele aplicatie sunt stocate intr-un

Aplicatia 2 Urmatoare implementare la baza conceptul de tablou. Plantele aplicatie sunt stocate intr-un tablou, iar utiliziatorul are un grup de metode pentru manipularea acestuia. Frame-ul f 2 ce implementeaza interfata cu utilizatorul are tabloul p declarat astfel private Plante p = new Plante(); Dupa cum se observa, aplicatia are deja 3 clase.

Aplicatia 2 / 1 import java. io. Serializable; /** * Clasa permite stocarea si

Aplicatia 2 / 1 import java. io. Serializable; /** * Clasa permite stocarea si manipularea unei plante. * @author Antal Tiberiu Alexandru * @version 1. 0 */ public class Planta implements Serializable { /** <b>nume</b> este variabila de insanta String * ce stocheaza numele plantei */ private String nume; /** <b>cantitate</b> este variabila de insanta String * ce stocheaza numele plantei */ private int cantitate; /** <b>pret</b> este variabila de insanta String ce * stocheaza numele plantei */ private double pret; /** Constructorul clasei Planta. * @param nume de tip String, numele plantei * @param cantitate de tip int, in grame a plantei * @param pret de tip double al plantei * @return nu intoarce nici 1 valoare */ public Planta(String nume, int cantitate, double pret) { this. nume = nume; this. cantitate = cantitate; this. pret = pret; } public String to. String() { //return "Planta: " +nume +"nt. Cantitate: " + cantitate + "nt"+pret+"n"; return nume +" | " + cantitate + " | "+pret; } public void set. Nume(String nume) { this. nume = nume; } public String get. Nume() { return nume; } public void set. Cantitate(int cantitate) { this. cantitate = cantitate; } public int get. Cantitate() { return cantitate; } public void set. Pret(double pret) { this. pret = pret; } } public double get. Pret() { return pret; }

Aplicatia 2 / 2 import import java. io. File; java. io. File. Input. Stream;

Aplicatia 2 / 2 import import java. io. File; java. io. File. Input. Stream; java. io. File. Output. Stream; java. io. IOException; java. io. Object. Input. Stream; java. io. Object. Output. Stream; public class Plante { Planta [] Planta. A; int pozitie; int NMAX = 100; File f = new File("plante. dat"); public Plante() { if (incarca. Plante()) { NMAX = Planta. A. length; pozitie = 0; for(int i=0; i<NMAX; ++i) if (Planta. A[i] != null) pozitie++; } else { Planta. A = new Planta[NMAX]; pozitie = 0; } } public void adagua. Planta(Planta p) { if (pozitie < NMAX) { Planta. A[pozitie++] = p; salvare. Modificare(); } } public boolean modifica. Planta(String cheie, int cantitate 9) { for (Planta p : Planta. A) { if (p. get. Nume(). equals(cheie)) { p. set. Cantitate(p. get. Cantitate() - cantitate 9); salvare. Modificare(); return true; } } return false; } public boolean incarca. Plante() { Object. Input. Stream in; try { in = new Object. Input. Stream(new File. Input. Stream(f)); Planta. A = (Planta[])in. read. Object(); in. close(); System. out. println(Planta. A. length + " au fost incarcate. "); } return true; } catch (IOException e) { System. out. println(e); } catch (Class. Not. Found. Exception e) { System. out. println(e); } return false; public boolean salvare. Modificare() { Object. Output. Stream out;

Aplicatia 2 / 3 try { } } out = new Object. Output. Stream(new

Aplicatia 2 / 3 try { } } out = new Object. Output. Stream(new File. Output. Stream(f)); out. write. Object(Planta. A); out. close(); out = null; System. gc(); return true; } catch (IOException e) { System. out. println(e); } return false; public String to. String() { String rez = ""; for (Planta p : Planta. A) { rez += (p == null)? "" : p + "nn"; } return rez; }

Aplicatia 2 / 4 import import import import java. awt. Dimension; java. awt. Rectangle;

Aplicatia 2 / 4 import import import import java. awt. Dimension; java. awt. Rectangle; java. awt. event. Action. Event; java. awt. event. Action. Listener; java. io. File. Output. Stream; java. io. IOException; java. io. Print. Writer; javax. swing. JButton; javax. swing. JFrame; javax. swing. JLabel; javax. swing. JScroll. Pane; javax. swing. JText. Area; javax. swing. JText. Field; public class f 2 extends JFrame { private JText. Field j. Text. Field 1 = new JText. Field(); private JText. Field j. Text. Field 2 = new JText. Field(); private JText. Field j. Text. Field 3 = new JText. Field(); private JLabel j. Label 1 = new JLabel(); private JLabel j. Label 2 = new JLabel(); private JLabel j. Label 3 = new JLabel(); private JButton j. Button 1 = new JButton(); private JButton j. Button 2 = new JButton(); private JButton j. Button 3 = new JButton(); private JScroll. Pane j. Scroll. Pane 1 = new JScroll. Pane(); private JText. Area j. Text. Area 1 = new JText. Area(); private Plante p = new Plante(); public f 2() { try { jb. Init(); } catch (Exception e) { e. print. Stack. Trace(); } } private void jb. Init() throws Exception { this. get. Content. Pane(). set. Layout(null); this. set. Size(new Dimension(444, 300)); this. set. Title("plante"); j. Text. Field 1. set. Bounds(new Rectangle(70, 40, 160, 30)); j. Text. Field 2. set. Bounds(new Rectangle(70, 85, 160, 30)); j. Text. Field 3. set. Bounds(new Rectangle(70, 135, 160, 30)); j. Label 1. set. Text("denumire"); j. Label 1. set. Bounds(new Rectangle(5, 40, 60, 35)); j. Label 2. set. Text("cantitate"); j. Label 2. set. Bounds(new Rectangle(5, 90, 65, 20)); j. Label 3. set. Text("pret"); j. Label 3. set. Bounds(new Rectangle(15, 135, 55, 25)); j. Button 1. set. Text("Cumparare"); j. Button 1. set. Bounds(new Rectangle(65, 190, 110, 35)); j. Button 1. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 1_action. Performed(e); } }); j. Button 2. set. Text("Listare"); j. Button 2. set. Bounds(new Rectangle(178, 190, 110, 35)); j. Button 2. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 2_action. Performed(e); } });

Aplicatia 2 / 5 pv. println(n 1 + "/" + c 1); pv. close();

Aplicatia 2 / 5 pv. println(n 1 + "/" + c 1); pv. close(); pv = null; System. gc(); } catch (IOException f) { } j. Button 3. set. Text("Adaugare"); j. Button 3. set. Bounds(new Rectangle(290, 110, 35)); j. Button 3. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 3_action. Performed(e); } }); j. Scroll. Pane 1. set. Bounds(new Rectangle(265, 45, 155, 125)); j. Scroll. Pane 1. get. Viewport(). add(j. Text. Area 1, null); this. get. Content. Pane(). add(j. Scroll. Pane 1, null); this. get. Content. Pane(). add(j. Button 3, null); this. get. Content. Pane(). add(j. Button 2, null); this. get. Content. Pane(). add(j. Button 1, null); this. get. Content. Pane(). add(j. Label 3, null); this. get. Content. Pane(). add(j. Label 2, null); this. get. Content. Pane(). add(j. Label 1, null); this. get. Content. Pane(). add(j. Text. Field 3, null); this. get. Content. Pane(). add(j. Text. Field 2, null); this. get. Content. Pane(). add(j. Text. Field 1, null); } } private void j. Button 3_action. Performed(Action. Event e) { String n; int c; double pr; n = j. Text. Field 1. get. Text(); c = Integer. parse. Int(j. Text. Field 2. get. Text()); pr = Double. parse. Double(j. Text. Field 3. get. Text()); System. out. println(" " + n + c + p); p. adagua. Planta(new Planta(n, c, pr)); } public static void main(String[] args) { f 2 f = new f 2(); f. set. Visible(true); } private void j. Button 1_action. Performed(Action. Event e) { String n 1 = j. Text. Field 1. get. Text(); int c 1 = Integer. parse. Int(j. Text. Field 2. get. Text()); p. modifica. Planta(n 1, c 1); try { Print. Writer pv = new Print. Writer(new File. Output. Stream("Plante. Vandute. txt", true)); } private void j. Button 2_action. Performed(Action. Event e) { j. Text. Area 1. set. Text(""); for (Planta p 1 : p. Planta. A) { if (p 1 != null) { j. Text. Area 1. append(p 1. get. Nume() + " | " + p 1. get. Cantitate() + "|" + p 1. get. Pret() + "n"); } } }

Aplicatia 3 Urmatoare implementare la baza conceptul de Vector. Interfata grafica s-a modificat si

Aplicatia 3 Urmatoare implementare la baza conceptul de Vector. Interfata grafica s-a modificat si ea aparand butonul Sterge. Daca in cazul tabloului numaru maxim de elemente era fixat, clasa Vectot permite extinderea dar si restrangerea numarului de elemente. Astfel, in aceasta implementarea Stergerea se poate implement foarte simplu prin apelul unei metode (p. sterge. Planta(n); ) din clasa Vector

Aplicatia 3 / 1 import java. io. Serializable; public class Planta implements Serializable {

Aplicatia 3 / 1 import java. io. Serializable; public class Planta implements Serializable { private String nume; private int cantitate; private double pret; public Planta(String nume, int cantitate, double pret) { this. nume = nume; this. cantitate = cantitate; this. pret = pret; } public String to. String() { //return "Planta: " +nume +"nt. Cantitate: " + cantitate + "nt"+pret+"n"; return nume +" | " + cantitate + " | "+pret; } public void set. Nume(String nume) { this. nume = nume; } public String get. Nume() { return nume; } public void set. Cantitate(int cantitate) { this. cantitate = cantitate; } public int get. Cantitate() { return cantitate; } public void set. Pret(double pret) { this. pret = pret; } } public double get. Pret() { return pret; }

Aplicatia 3 / 2 import java. io. File; import import java. io. File. Input.

Aplicatia 3 / 2 import java. io. File; import import java. io. File. Input. Stream; java. io. File. Output. Stream; java. io. IOException; java. io. Object. Input. Stream; java. io. Object. Output. Stream; import java. util. Enumeration; import java. util. Iterator; import java. util. Vector; class Plante. V { Vector<Planta> v = new Vector<Planta>(); File f = new File("plante. V. dat"); public Plante. V() { if (incarca. Plante()) { System. out. println(v. size() + " plante au fost incarcate!"); } } public void adagua. Planta(Planta p) { v. add. Element(p); salvare. Modificare(); } Planta cauta. Planta(String cheie) { Iterator <Planta> v. Itr = v. iterator(); while (v. Itr. has. Next()) { Planta p = (Planta)v. Itr. next(); if (p. get. Nume(). equals(cheie)) { System. out. println("ncheia: "+cheie + " a fost gasita"); return p; } } return null; } public void sterge. Planta(String nume) { Planta p = cauta. Planta(nume); if (p != null) { v. remove. Element(p); salvare. Modificare(); } } public boolean salvare. Modificare() { Object. Output. Stream out; try { out = new Object. Output. Stream(new File. Output. Stream(f)); out. write. Object(v); out. close(); out = null; System. gc(); } return true; } catch (IOException e) { System. out. println(e); } return false;

Aplicatia 3 / 3 public boolean incarca. Plante() { Object. Input. Stream in; try

Aplicatia 3 / 3 public boolean incarca. Plante() { Object. Input. Stream in; try { in = new Object. Input. Stream(new File. Input. Stream(f)); v = (Vector)in. read. Object(); in. close(); System. out. println(v. size() + " plante au fost REincarcate. "); return true; } catch (IOException e) { System. out. println(e); } catch (Class. Not. Found. Exception e) { System. out. println(e); } return false; } } public String to. String() { String rez = ""; Enumeration <Planta> v. Enum = v. elements(); while (v. Enum. has. More. Elements()) { rez += v. Enum. next. Element() + "n"; } return rez; } public boolean modifica. Planta(String cheie, int c 9) { Planta p = cauta. Planta(cheie); if (p != null) { v. set(v. index. Of(p), new Planta(cheie, p. get. Cantitate() - c 9, p. get. Pret())); salvare. Modificare(); return true; } return false; }

Aplicatia 3 / 4 import java. awt. Dimension; java. awt. Rectangle; java. awt. event.

Aplicatia 3 / 4 import java. awt. Dimension; java. awt. Rectangle; java. awt. event. Action. Event; java. awt. event. Action. Listener; import java. io. File. Output. Stream; import java. io. IOException; import java. io. Print. Writer; import import javax. swing. JButton; javax. swing. JFrame; javax. swing. JLabel; javax. swing. JScroll. Pane; javax. swing. JText. Area; javax. swing. JText. Field; public class f 3 extends JFrame { private JText. Field j. Text. Field 1 = new JText. Field(); private JText. Field j. Text. Field 2 = new JText. Field(); private JText. Field j. Text. Field 3 = new JText. Field(); private JLabel j. Label 1 = new JLabel(); private JLabel j. Label 2 = new JLabel(); private JLabel j. Label 3 = new JLabel(); private JButton j. Button 1 = new JButton(); private JButton j. Button 2 = new JButton(); private JButton j. Button 3 = new JButton(); private JScroll. Pane j. Scroll. Pane 1 = new JScroll. Pane(); private JText. Area j. Text. Area 1 = new JText. Area(); private Plante. V p = new Plante. V(); private JButton j. Button 4 = new JButton(); public f 3() { try { jb. Init(); init. Lista(); } catch (Exception e) { e. print. Stack. Trace(); } } private void jb. Init() throws Exception { this. get. Content. Pane(). set. Layout(null); this. set. Size(new Dimension(444, 300)); this. set. Title("plante - f 3"); j. Text. Field 1. set. Bounds(new Rectangle(70, 40, 160, 30)); j. Text. Field 1. set. Next. Focusable. Component(j. Text. Field 2); j. Text. Field 1. set. Focus. Cycle. Root(true); j. Text. Field 2. set. Bounds(new Rectangle(70, 85, 160, 30)); j. Text. Field 2. set. Next. Focusable. Component(j. Text. Field 3); j. Text. Field 3. set. Bounds(new Rectangle(70, 135, 160, 30)); j. Text. Field 3. set. Next. Focusable. Component(j. Button 1); j. Label 1. set. Text("denumire"); j. Label 1. set. Bounds(new Rectangle(5, 40, 60, 35)); j. Label 2. set. Text("cantitate"); j. Label 2. set. Bounds(new Rectangle(5, 90, 65, 20)); j. Label 3. set. Text("pret"); j. Label 3. set. Bounds(new Rectangle(15, 135, 55, 25)); j. Button 1. set. Text("Cumparare"); j. Button 1. set. Bounds(new Rectangle(65, 190, 110, 35)); j. Button 1. set. Next. Focusable. Component(j. Button 2); j. Button 1. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 1_action. Performed(e); } });

Aplicatia 3 / 5 j. Button 2. set. Text("Listare"); j. Button 2. set. Bounds(new

Aplicatia 3 / 5 j. Button 2. set. Text("Listare"); j. Button 2. set. Bounds(new Rectangle(178, 190, 110, 35)); j. Button 2. set. Next. Focusable. Component(j. Button 3); j. Button 2. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 2_action. Performed(e); } }); j. Button 3. set. Text("Adaugare"); j. Button 3. set. Bounds(new Rectangle(290, 110, 35)); j. Button 3. set. Next. Focusable. Component(j. Button 4); j. Button 3. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 3_action. Performed(e); } }); j. Scroll. Pane 1. set. Bounds(new Rectangle(265, 45, 155, 125)); j. Text. Area 1. set. Focusable(false); j. Button 4. set. Text("Sterge"); j. Button 4. set. Bounds(new Rectangle(290, 235, 110, 30)); j. Button 4. set. Next. Focusable. Component(j. Text. Field 1); j. Button 4. add. Action. Listener(new Action. Listener() { public void action. Performed(Action. Event e) { j. Button 4_action. Performed(e); } }); j. Scroll. Pane 1. get. Viewport(). add(j. Text. Area 1, null); this. get. Content. Pane(). add(j. Button 4, null); this. get. Content. Pane(). add(j. Scroll. Pane 1, null); this. get. Content. Pane(). add(j. Button 3, null); this. get. Content. Pane(). add(j. Button 2, null); this. get. Content. Pane(). add(j. Button 1, null); } this. get. Content. Pane(). add(j. Label 2, null); this. get. Content. Pane(). add(j. Label 1, null); this. get. Content. Pane(). add(j. Text. Field 3, null); this. get. Content. Pane(). add(j. Text. Field 2, null); this. get. Content. Pane(). add(j. Text. Field 1, null); private void j. Button 1_action. Performed(Action. Event e) { String n 1 = j. Text. Field 1. get. Text(); int c 1 = Integer. parse. Int(j. Text. Field 2. get. Text()); } p. modifica. Planta(n 1, c 1); init. Lista(); try { Print. Writer pv = new Print. Writer(new File. Output. Stream("Plante. Vandute. txt", true)); pv. println(n 1 + "/" + c 1); pv. close(); pv = null; System. gc(); } catch (IOException f) { } private void init. Lista() { j. Text. Area 1. set. Text(""); j. Text. Area 1. append(p. to. String()); }

Aplicatia 3 / 6 private void j. Button 3_action. Performed(Action. Event e) { String

Aplicatia 3 / 6 private void j. Button 3_action. Performed(Action. Event e) { String n; int c; double pr; n = j. Text. Field 1. get. Text(); c = Integer. parse. Int(j. Text. Field 2. get. Text()); pr = Double. parse. Double(j. Text. Field 3. get. Text()); System. out. println(" " + n + c + p); p. adagua. Planta(new Planta(n, c, pr)); init. Lista(); } public static void main(String[] args) { f 3 f = new f 3(); f. set. Visible(true); //status. Bar. set. Text("Apasa listare. . . "); } private void j. Button 2_action. Performed(Action. Event e) { init. Lista(); } } private void j. Button 4_action. Performed(Action. Event e) { String n; n = j. Text. Field 1. get. Text(); p. sterge. Planta(n); init. Lista(); }

Bibliografie n n http: //www. east. utcluj. ro/mb/mep/antal/downloads. html > Java: course, IDE (JDeveloper),

Bibliografie n n http: //www. east. utcluj. ro/mb/mep/antal/downloads. html > Java: course, IDE (JDeveloper), JDK and JRE, JDeveloper labs. http: //docs. oracle. com/cd/E 18941_01/tutorials/jdtut_11 r 2_50/jdtut_11 r 2 _50. html > Getting Started With the JDeveloper IDE