Java IE Operatii de Intrarei Esire Operatii de

  • Slides: 25
Download presentation
Java (I/E) Operatii de Intrare/i. Esire Operatii de I/E (intrare = citire / iesire

Java (I/E) Operatii de Intrare/i. Esire Operatii de I/E (intrare = citire / iesire = afisare): 1. 2. n n in mod text I/E in mod grafic: Cu metode predefinite Cu interfata construita de programator

I/E in mod text n n Afisarea datelor de I/E se face utilizand caractere

I/E in mod text n n Afisarea datelor de I/E se face utilizand caractere alfanumerice (litere si cifre); Viteza de afisare este mare, memoria consumata putina; Este specific aplicatiilor ce utilizeaza interfete de tip linie comanda; Mediul JDeveloper trebuie configurat pentru a permite operatiile de Intrare.

Configurare JDeveloper pentru I/E in mod text - 1 n n n Run >

Configurare JDeveloper pentru I/E in mod text - 1 n n n Run > Choose Active Run Configuration > Manage Run Configuration

Configurare JDeveloper pentru I/E in mod text - 2 1. 2. 3. 4. 5.

Configurare JDeveloper pentru I/E in mod text - 2 1. 2. 3. 4. 5. Run/Debug Edit Tool Settings Allow Program Input OK

Configurare JDeveloper pentru I/E in mod text - 3 1. 2. Lansarea in executie

Configurare JDeveloper pentru I/E in mod text - 3 1. 2. Lansarea in executie a aplicatiei Linia de introducere a datelor

Codul aplicatiei Masa Ideala – var. 1 (I/E in mod text) import java. util.

Codul aplicatiei Masa Ideala – var. 1 (I/E in mod text) import java. util. Scanner; public class Masa. Ideala. V 1 { public static void main(String[] args) { //declaratii de variabile locale double masa, varsta, inaltimea; Scanner intrare; intrare = new Scanner(System. in); //mod text i. Esire > afisarea pe ecran a textului Ce varsta ai: System. out. print("Ce varsta ai: "); //mod text Intrare > citirea unui numar real de la tastatura varsta = intrare. next. Float(); System. out. print("Ce inaltime ai: "); inaltimea = intrare. next. Float(); masa = 50 + 0. 75 * (inaltimea-150) + 0. 25 * (varsta - 20); System. out. println("Masa ideala (barbat) = " + masa + " kg"); System. out. println("Masa ideala (femeie) = " + 0. 9*masa + " kg"); } }

De retinut ! n Cod i. Esire in mod text: System. out. print("Ce varsta

De retinut ! n Cod i. Esire in mod text: System. out. print("Ce varsta ai: "); sau System. out. print("Barbat: "+masa+"kg"); n Cod Intrare in mod text: n Declaratii: Scanner intrare; intrare = new Scanner(System. in); n n Citire real (float): intrare. next. Float(); Citire intreg (int): intrare. next. Integer();

I/E in mod grafic predefinit n n Adaptorul video lucreaza in mod grafic generand

I/E in mod grafic predefinit n n Adaptorul video lucreaza in mod grafic generand pixeli si nu caractere; Conversatia se face prin ferestre de dialog; Forma si organizarea acestor ferestre este predefinita; programatorul trebuie sa cunoasca numele si structura fiecarui element de I/E predefinit.

Codul aplicatiei Masa Ideala – var. 2 (I/E in mod grafic) import javax. swing.

Codul aplicatiei Masa Ideala – var. 2 (I/E in mod grafic) import javax. swing. JOption. Pane; public class Masa. Ideala. V 2 { public static void main(String[] args) { //declaratii de variabile locale float masa, inaltimea; int varsta; //afisarea pe ecran a ferestrei de dialog Ce varsta ai: String intrare = JOption. Pane. show. Input. Dialog("Ce varsta ai: "); //citirea unui numar real de la tastatura varsta = Integer. parse. Int(intrare); intrare = JOption. Pane. show. Input. Dialog("Ce inaltime ai (in cm): "); inaltimea = Float. parse. Float(intrare); masa = 50 F + 0. 75 F * (inaltimea-150 F) + 0. 25 F * (varsta - 20 F); String masaideala = "Barbat = " + masa + " kgn"; masaideala = masaideala + "Femeie = " + 0. 9*masa + " kg"; JOption. Pane. show. Message. Dialog(null, masaideala, "Masa ideala", JOption. Pane. INFORMATION_MESSAGE); } }

De retinut ! n Cod Intrare in mod grafic predefinit: n i. Esire cu

De retinut ! n Cod Intrare in mod grafic predefinit: n i. Esire cu citirea unei date de intrare: in = JOption. Pane. show. Input. Dialog("Ce. . "); varsta = Integer. parse. Int(in); sau inaltimea = Float. parse. Float(in); n Cod i. Esire in mod grafic predefinit: JOption. Pane. show. Message. Dialog(null, masaideala, "Masa ideala", JOption. Pane. INFORMATION_MESSAGE);

I/E in mod grafic definit de utlizator n Etapele crearii unei intefete grafice definite

I/E in mod grafic definit de utlizator n Etapele crearii unei intefete grafice definite de utilizator: n n n Se creeaza 1 aplicatie noua: App. Celto. Fahr; Se creeaza 1 proiect nou: Pr. Celto. Fahr; Se creeaza 1 frame nou: Fr. Celto. Fahr; Se plaseaza componentele pe suprafata frameului; Se scrie codul asociat fiecarei componente.

Modul grafic predefinit: etapele 1, 2 si 3 (clic pt. avans)

Modul grafic predefinit: etapele 1, 2 si 3 (clic pt. avans)

Modul grafic predefinit: etapa 4/1 (clic pt. avans) n Adaugarea componentelor pe suprafata farme-ului:

Modul grafic predefinit: etapa 4/1 (clic pt. avans) n Adaugarea componentelor pe suprafata farme-ului: n n Fereastra componentelor (Components) se face vizibila din View > Component Palette; Categoria de componente utilizate de numesc Swing, dintre acestea in aplicatie se folosesc: n n n JButton, JLabel, JText. Field.

Modul grafic predefinit: etapa 4/2 (clic pt. avans) n Selectam componenta Swing JText. Field;

Modul grafic predefinit: etapa 4/2 (clic pt. avans) n Selectam componenta Swing JText. Field; n Desenam un dreptunghi pe suprafata frame -ului tinand butonul stang e mouse apasat; Pe suprafata frame-ului apare obiectul creat pe baza componentei; In fereastra Structure (stanga-jos) apare numele noului obiectul creat > JText. Field 1. n Numele identifica unic obiectul in cod. n

Modul grafic predefinit: etapa 4/3 Dupa procedura descrisa inainte se pozitioneaza si celelalte obiecte

Modul grafic predefinit: etapa 4/3 Dupa procedura descrisa inainte se pozitioneaza si celelalte obiecte de interfata grafica.

Modul grafic predefinit: etapa 4/4 - Redenumire Obiectele create dupa aceasta procedura primesc nume

Modul grafic predefinit: etapa 4/4 - Redenumire Obiectele create dupa aceasta procedura primesc nume implicite. n Este normal ca acestea sa primeasca nume specifice seminficatie lor n Redenumirea se face conform etapelor 1 -5 din figura alaturata n Obiectele aplicatie redenumite

Modul grafic predefinit: etapa 4/5 – Atribute Obiectele au asociate atribute (proprietati). n Cele

Modul grafic predefinit: etapa 4/5 – Atribute Obiectele au asociate atribute (proprietati). n Cele legate de aspectele vizuale iau valori implictie. Dupa procedura alaturata ele se modifica pentru afisarea unor informatii corespunzatoare contextului in care apare obiectul. n

Modul grafic predefinit: etapa 4/5 – Cod obiectelor Elementul de interfata prin care aplicatia

Modul grafic predefinit: etapa 4/5 – Cod obiectelor Elementul de interfata prin care aplicatia se porneste butonul Convert. n Codul asociat apasarii butonului se scrie intr-un loc special. Se face clic dublu pe buton iar mediul deschide automat locul in care se scrie codul. n Pentru ca aplicatia sa fie executabila mai trebuie introdus un cod n

Modul grafic predefinit: etapa 4/6 – Cod obiectelor Codul scris cu negru este creat

Modul grafic predefinit: etapa 4/6 – Cod obiectelor Codul scris cu negru este creat de gerenatorul de cod din JDeveloper. Programatrul are de scris doar partea cu verde. private void convert. Button_action. Performed(Action. Event e) { // >>> codul incepe aici si este int temp. Fahr = (int)((Double. parse. Double(temp. Text. Field. get. Text()))* 1. 8 + 32); fahreheit. Label. set. Text(temp. Fahr + " Fahrenheit"); // >>> si se termina aici } Codul urmator, scris cu verde, trebuie introdus de programator. Acesta defineste metoda (functia) main(), punctul de intrare in program cand acesta este lansta in executie. public static void main(String[] args) { Fr. Celto. Fahr ob = new Fr. Celto. Fahr(); ob. set. Visible(true); }

De retinut ! n Cod Intrare in mod grafic definit de utilizator (temp. Text.

De retinut ! n Cod Intrare in mod grafic definit de utilizator (temp. Text. Field este JText. Field): temp. Text. Field. get. Text() Cod i. Esire in mod grafic definit de utilizator (fahreheit. Label este JLabel): fahreheit. Label. set. Text(temp. Fahr + "Fah. . ")

Intrebari ? (clic pt. raspunsuri) n n Ce inseamna I/E? Cate moduri de I/E

Intrebari ? (clic pt. raspunsuri) n n Ce inseamna I/E? Cate moduri de I/E avem in Java? Care mod este folosit in aplicatiile de tip linie comanda? Care mod I/E permite realizarea unor intefete complexe ce pot imita formulare? > Intrare/i. Esire > text, predefinit si definit de utilizator > text > definit de utilizator

Aplicatii - 1 (clic pt. raspunsuri) 1. Ce atribute vizuale se modifica pentru a

Aplicatii - 1 (clic pt. raspunsuri) 1. Ce atribute vizuale se modifica pentru a obtine interfata? • • Selectam pe farenheit. Label In fereastra de atribute (proprietati) vizuale (Visual) se bifeaza opaque Proprieteatea background se pune pe negru (black) Proprietatea foreground se pune pe alb (white) 2. Ce actiuni se fac pentru adaugarea unui buton de Iesire care sa contina codul Java: System. exit(0); ? • • Din Components selectam JButton Desenam butonul de comanda tinand butonul stang apasat In fereastra de atribute (proprietati) vizuale (Visual) modificam proprietatea text in Iesire Facem clic dublu pe buton si scriem codul cu verde: private void j. Button 1_action. Performed(Action. Event e) { System. exit(0); }

Aplicatii - 2 (clic pt. raspunsuri) 3. Ce actiuni se fac pentru adauga la

Aplicatii - 2 (clic pt. raspunsuri) 3. Ce actiuni se fac pentru adauga la interfata si conversia gradelor Celsius in Kelvin cunoscand relatia K=C+273. 14 ? • Din Components selectam JLabel • Desenam un JLabel nou. Numele implicit va fi j. Label 1. • Facem clic dublu pe butonul Convert si adaugam codul: double temp. Kelvin = Double. parse. Double(temp. Text. Field. get. Text())+ 273. 15; j. Label 1. set. Text(temp. Kelvin + " Kelvin"); si obtinem: private void convert. Button_action. Performed(Action. Event e) { //Parse degrees Celsius as a double and convert to Fahrenheit. int temp. Fahr = (int)((Double. parse. Double(temp. Text. Field. get. Text ())) * 1. 8 + 32); fahreheit. Label. set. Text(temp. Fahr + " Fahrenheit"); double temp. Kelvin = Double. parse. Double(temp. Text. Field. get. Text ()) + 273. 15; j. Label 1. set. Text(temp. Kelvin + " Kelvin"); }

Mediul JDeveloper n n n Ultima versiune se descarca de la http: //www. oracle.

Mediul JDeveloper n n n Ultima versiune se descarca de la http: //www. oracle. com/technetwork/developertools/jdev/downloads/index. html dar necesita cont la Oracle. O versiune mai veche o gasiti si la http: //www. east. utcluj. ro/mb/mep/antal/downl oads. html Mediu de programare ce asista procesul de scriere a software-ului in Java (editor de text, suport integrat pentru compilare, rulare, precum si depanare).

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