Sunteți pe pagina 1din 7

1

Primii pasi in programare in JAVA (cu Eclipse


IDE)

In cele ce urmeaza, voi incerca sa scriu cateva


4notiuni introductive in programare. Imi doresc ca acestea
5sa fie utile oricarui incepator, fie el un student sau
6absolvent de profil uman.
3

In primul rand, vreau sa clarific ce este un limbaj de


8programare. Sunt multe definitii pe internet, dar cred ca
9cea mai buna este pe Wikipedia : O multime de
10expresii/reguli/forme/tehnici/instructiuni pentru un
11calculator.
7

12

Programatorul scrie cod sursa, apoi il compileaza (

13transformandu-l

dintr-un limbaj inteles doar de om intr-un


14limbaj inteles de calculator ).
O sa explic in cele ce urmeaza un program simplu in
16limbajul Java. De exemplu, programatorul scrie cod care
17afiseaza o fereastra. Aceasta contine 2 campuri editabile
18care pot fi completate cu valori numerice.
15

19Un

al 3-lea camp va afisa utilizatorului rezultatul unui


20calcul intre cele 2 campuri(in acest exemplu adunare).
21Rezultatul va fi afisat in momentul in care utilizatorul
22apasa butonul Calculate(Calculeaza).
23Pentru

a face toate aceste lucruri posibile(si pentru a face


24munca mai usoara), vom avea de un IDE(un mediu de
25dezvoltare software sau un mediu integrat de dezvoltare).
26Un IDE este de asemenea un program care ne ajuta sa
27scriem, sa compilam si sa executam programe pentru
28calculator.
29

Pentru a exemplifica, o sa prezint Eclipse IDE :

30
31Aceasta

ne arata un mediu in care programele sunt


32scrise. Apoi, o sa explic fiecare portiune cheie a acestei
33poze, respectiv vom scrie programul pentru actiunile
34prezentate mai devreme.
35

36

37
38
39

1) Butonul pentru creearea de noi proiecte

40
41

2) Exploratorul de pachete locul unde putem vedea proiectele din


locatia de lucru curenta

42

3) Proiectul selectat

43

4) Dand click pe aceasta, aducem sursa programului Demo in prim plan

44

5) Numele programului curent/clasei

45

6) Numele functiei unde incepe programul

46

7) Parantezele sunt folosite astfel :

47
48

a. { este folosita pentru a marca inceputul unei functii/bloc, in


cazul nostru marcheaza inceputul functiei principale

49
50

b. }este folosita pentru a marca sfarsitul unei functii/bloc, in cazul


nostru marcheaza sfarsitul functiei principale

51

8) Tabul unde putem vedea erorile programului

52
53

9) Tabul unde putem vedea rezultatele compilarii sau executiei/ corectura


gramaticala a programului (trebuie sa respecte un anumit tipar)

54Bun,

acum ca am explicat fiecare parte a IDE-ului, sa


55incepem sa scriem un program si sa il explicam.

56import java.awt.*;
57import java.awt.event.*;
58import javax.swing.*;
59
60public class GUI{
61
62
public static void main(String[] args) {
63
64
JFrame frame = new JFrame("Test Window");
65
frame.setLayout(new FlowLayout());
66
JLabel label1 = new JLabel("Enter first number:");
67
JLabel label2 = new JLabel("Enter second number:");
68
JLabel labelr = new JLabel("Result:");
69
70
JTextField textf1 = new JTextField("",5);
71
JTextField textf2 = new JTextField("",5);
72
JTextField textfr = new JTextField("",5);
73
JButton button = new JButton("Compute");
74
frame.add(label1);
75
frame.add(textf1);
76
frame.add(label2);
77
frame.add(textf2);
78
frame.add(labelr);;
79
frame.add(textfr);
80
frame.add(button);
81
button.addActionListener(new ActionListener(){
82
public void actionPerformed(ActionEvent e){
83
84
int number1=0,number2=0;
85
boolean error = false;
86
87
try{
88
number1 = Integer.parseInt(textf1.getText());
89
number2 = Integer.parseInt(textf2.getText());
90
}
91
catch(Exception ex){
92
textfr.setText("error");
93
error = true;
94
}
95
if (!error)
96
textfr.setText(number1+number2+" ");
97
98
}
99
});
100
frame.setVisible(true);
101
frame.setSize(600, 200);
102
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
103
}
104
105}

106Programul

are 50 linii de cod. Liniile 1-3 adauga niste


107biblioteci pentru clase/functii pe care le vom folosi mai
108tarziu(mai jos).
109Pachetele

java.awt si java.swing contin functiile care ne


110vor trebui pentru a afisa elemente de interfata grafica
111precum ferestre, butoane, campuri etc. Linia 2 contine
112importarea pachetului java.awt.event , care este folosit
113pentru a prelucra evenimente.
114Linia

5 contine declararea clasei. O clasa in Java este un


115sablon pentru un obiect real. Ea contine date si actiuni
116(sau campuri si metode).
117De

exemplu avem clasa Masina cu campurile/datele


118numeMasina, tipMasina, culoareMasina ai metoda
119accelereazaMasina.
120O

clasa modeleaza un obiect din viata reala. In cazul


121clasei noastre, nu avem campuri si metode, deoarece
122totul este facut in functia principala.
123Dar

o clasa pentru interfata grafica este de asemenea tot


124o clasa.
125Trebuie

sa mentionez ca spatiile albe si taburile sunt


126ignorate de compilator, respectiv instructiunile sunt
127delimitate prin ;. Deci liniile 4 si 6 sunt ignorate de
128compilator.
129Linia

9(JFrame frame = new JFrame("Test Window");) creeaza un obiect


130fereastra din clasa(sablonul) JFrame. Putem gasi clasa
131JFrame in pachetul java.swing declarat in linia 3. Acum
132avem o fereastra in care putem afisa orice dorim. Linia 10
133seteaza aspectul ferestrei la cel prestabilit FlowLayout.

134Vreau

sa subliniez ca FlowLayout este de asemenea un


135obiect, precum cele descrise mai sus.
136Apoi,

liniile 11-18 creeaza elementele interfetei grafice,


137pe care le adaugam ferestrei in liniile 19-25.
138Bun,

acum avem o fereastra cu 3 obiecte campuri si un


139buton, dar acestea nu fac nimic. Ne trebuie o metoda de
140a asculta sau a fi notificati de apasarile de buton.
141Si

o sa folosim functia/metoda addActionListener din


142clasa JButton in interiorul careia sunt specificate actiunile
143ce se vor efectua la apasarea butonului Calculate.
144Acestea sunt liniile 26-44.
Cand introducem 2 numere intregi in cele 2 campuri
146si apasam butonul calculeaza, o sa vedem rezultatul
147adunarii in cel de-al 3-lea camp textfr (prescurtarea vine
148de la text field result):
145

149if (!error) textfr.setText(number1+number2+" ");


150
151
152Deci

linia 41 face toata treaba in functia actionPerformed.

153Cand

o actiune este efectuata(cineva apasa pe buton),


154tot corpul functiei actionPerform este executat, deci si
155linia 41.
156Sa

veden deci executia programului nostrum

157
158Asa

cum am explicat, avem o fereastra, 3 campuri de text


159editabile cu etichete si un buton. Rezultatul este cel
160asteptat, deoarece 53 = 31 + 22
161

S-ar putea să vă placă și