Sunteți pe pagina 1din 14

Laborator 7

Utilizarea claselor de interfa SWING


1. Obiectivele lucrrii
nsuirea noiunilor de baz referitoare la componentele SWING;
nsuirea noiunilor de baz referitoare la clasele J TextField, J CheckBox,
J RadioButton;
nsuirea caracteristicilor particulare ale fiecrei clase n parte;
Construirea unei interfee cu utilizatorul care are ca obiectiv incrementarea i
decrementarea unui contor cu preluarea valorii iniiale din caseta de editare, precum i un formular
de creare a unei casue de e-mail.
2. Aparatura i suporturile utilizate
PC n configuraia unitate central, monitor, tastatur;
Precizrile din prezentul ndrumar;
Manualul utilizatorului limbajului de programare J AVA;
Mediul de dezvoltare integrat NetBeans;
Documentaie on-line pe siteul http:\\java.sun.com.
3. Breviar
n lucrarea de laborator 3, au fost prezentate trei componente ale claselor de interfa
SWING. Pe parcursul prezentei lucrri vor fi prezentate alte trei componente, i anume: JTextField,
JCheckBox i JRadioButton.
3.1. Clasa JTextField
Ca orice component a claselor de interfa SWING, clasa JTextField se afl n pachetul
javax.swing. Aceast clas are ca insta un obiect de tip caset de editare. Are aceeai structur
vizual cu cea a etichetelor, diferena constnd n faptul c casetele de editare permit i introducerea
de date. Altfel spus, dac obiectelor de tip etichet nu li se poate modifica valoarea dect prin linie de
cod, obiectelor de tip caset de editare li se poate modifica valoarea la orice moment de timp al
rulrii aplicaiei direct de utilizator, prin introducerea noii valori.
Aceast tip de obiect este necesar deoarece anumite tipuri de aplicaii solicit utilizatorului
introducerea anumitor valori de iniializare.
n figurile 4.1 i 4.2 sunt prezentate ferestreastra de proprieti, respectiv fereastra cu tipurile
de evenimente pe care le suport instanele acestei clase.
2
Figura 4.1. Fereastra cu proprieti Figura 4.2. Fereastra cu evenimente
n continuare vor fi prezentate principalele metode implementate n clasa JTextField:
jTextField1.setAlignmentX(float aliniere) i jTextField1.getAlignment() seteaz, respectiv
ntoarce, valoarea coordonatei X pe care se afl caseta de editare pe form. Valoarea ntoars de
metoda getAlignment() este o valoare real;
jTextField1.setAlignmentY(float aliniere) i jTextField1.getAlignment() au aceleai funcii
ca i metodele de aliniere dup coordonata X;
jTextField1.setBackground(Color bg) i jTextField1.getBackground() seteaz, respectiv
ntoarce, culoarea de fond a casetei de editare, aa cum va apare caseta la rularea aplicaiei;
jTextField1.setEnabled(boolean b) are ca efect activarea sau dezactivarea casetei de editare,
n funcie de valoarea pe care o ia argumentul logic b;
jTextField1.setFont(Font font) i jTextField1.getFont() seteaz, respectiv ntoarce, fontul
care se va folosi, respectiv a fost folosit, pentru a afiarea textului din caseta de editare;
jTextField1.setForeground(Color fg) i jTextField1.getForeground() seteaz, respectiv
ntoarce, culoarea textului care este, respectiv va fi, afiat n caseta de editare;
3
jTextField1.setLocation(int x, int y) i jTextField1.getLocation() seteaz, respectiv ntoarce,
valorile coordonatelor x i y la care se va poziiona, respectiv la care se afl poziionat, colul stnga
sus al casetei de editare;
jTextField1.setText(String text) i jTextField1.getText() seteaz, respectiv ntoarce, textul
care va fi afiat, respectiv care este afiat, n caseta de editare;
jTextField1.setVisible(boolean aflag) are ca efect setarea proprietii de vizibilitate sau
invizibilitate a casetei de editare, n funcie de valoarea pe care o ia argumentul aflag. Dac metoda
setEnabled(boolean b) avea ca efect inaccesibilitatea casetei de editare pentru utilizator, metoda
setVisible(boolean true) va avea ca efect tergerea logic a acesteia de pe form. Altfel spus,
aceast metod va ascunde caseta de editare respectiv, astfel nct utilizatorul nu o mai poate vedea
pe form pn cnd acesta nu este fcut vizibil din alt metod sau clas;
jTextField1.setEditable(boolean b) are ca efect setarea sau desetarea proprietii de editare a
casetei. Altfel spus, atunci cnd valoarea parametrului b este true, atunci utilizatorul poate introduce
un anumit text n caset, n caz contrar acesta neavnd drept de modificare a textului din caset.
Altfel spus, dac valoarea parametrului b este false, caseta de editare se va comporta ca i un obiect
de tip etichet.
Un tip de eveniment ce poate fi asociat acestui tip de obiect este evenimentul de tip
MouseListner, care are implementate mai multe metode precum: mouseClicked (implementeaz o
aciune la efectuarea unui click n interiorul casetei de editare), mouseEntered (implementeaz o
aciune la poziionarea mouseului n interiorul casetei de editare), mouseExited (implementeaz o
aciune la ieirea mouseului din interiorul casetei de editare), mouseMoved (implementeaz o aciune
la micarea mouseului, indiferent de poziia acestuia n cadrul aplicaiei) i altele.
O clas asemntoare cu clasa JTextField este clasa JTextFieldArea, a crei instan este o
caseta de editare care permite introducerea mai multor linii de text.
3.2. Clasa JCheckBox
Instana clasei JCheckBox se numete caset de selecie. Aceasta permite utilizatorului numai
selecia sa prin efectuarea unui click. Starea ei implicit este ntotdeauna desetat, dar aceast
proprietate poate fi modificat de programator. Este indicat, ns, ca aceast caset de selecie s fie
desetat, setarea ei urmnd a fi efectuat de utilizator.
n continuare, n figurile 4.3 i 4.4 sunt prezentate fereastra de proprieti, respectiv fereastra
cu evenimente.
Figura 4.3. Fereastra de proprieti Figura 4.4 Fereastra cu evenimente
4
n continuare vor fi prezentate principalele metode imlementate n clasa JCheckBox:
jCheckBox1.setAlignmentX(float aliniere) i jCheckBox1.getAlignment() seteaz, respectiv
ntoarce, valoarea coordonatei X pe care se afl caseta de selecie pe form. Valoarea ntoars de
metoda getAlignment() este o valoare real;
jCheckBox1.setAlignmentY(float aliniere) i jCheckBox1.getAlignment() au aceleai
funcii ca i metodele de aliniere dup coordonata X;
jCheckBox1.setBackground(Color bg) i jCheckBox1.getBackground() seteaz, respectiv
ntoarce, culoarea de fond a casetei de selecie, aa cum va apare caseta la rularea aplicaiei;
jCheckBox1.setEnabled(boolean b) are ca efect activarea sau dezactivarea casetei de
selecie, n funcie de valoarea pe care o ia argumentul logic b;
jCheckBox1.setFont(Font font) i jCheckBox1.getFont() seteaz, respectiv ntoarce, fontul
care se va folosi, respectiv a fost folosit, pentru a afiarea textului asociat casetei de selecie;
jCheckBox1.setForeground(Color fg) i jCheckBox1.getForeground() seteaz, respectiv
ntoarce, culoarea textului care este, respectiv va fi, afiat n caseta de selecie;
jCheckBox1.setLocation(int x, int y) i jCheckBox1.getLocation() seteaz, respectiv
ntoarce, valorile coordonatelor x i y la care se va poziiona, respectiv la care se afl poziionat,
colul stnga sus al casetei de selecie;
jCheckBox1.setText(String text) i jCheckBox1.getText() seteaz, respectiv ntoarce, textul
care va fi afiat, respectiv care este afiat, n caseta de selecie;
jCheckBox1.setVisible(boolean aflag) are ca efect setarea proprietii de vizibilitate sau
invizibilitate a casetei de selecie, n funcie de valoarea pe care o ia argumentul aflag. Dac metoda
setEnabled(boolean b) avea ca efect inaccesibilitatea casetei de selecie pentru utilizator, metoda
setVisible(boolean true) va avea ca efect tergerea logic a acesteia de pe form. Altfel spus,
aceast metod va ascunde caseta de selecdie respectiv, astfel nct utilizatorul nu o mai poate
vedea pe form pn cnd acesta nu este fcut vizibil din alt metod sau clas.
Evenimentul cel mai important al acestui obiect este, ca i n cazul obiectului de tip buton,
evenimentul de apsare. Aadar, se va implementa o aciune la executarea unui click pe caseta de
selecie, aceasta schimbndu-i starea din desetat n setat, lucru care este posibil prin adugarea unui
handler asociat evenimentului actionPerformed. Se mai poate implementa aceeai aciune i prin
asocierea ei evenimentului mouseClicked, adic la efectuarea unui click pe obiect.
3.3. Clasa JRadioButton
Instana clasei JRadioButton este un radio buton, care poate fi fie selectat, fie neselectat.
Acest are ca proprietate fundamental faptul c poate fi modificat starea acestuia de ctre utilizator
printr-un click. Un astfel de buton poate fi inscipionat cu un anumit text i poate lua dou valori
logice: true selectat sau apsat i false neselectat sau neapsat. Acest tip de buton, ca i caseta de
selecie, se folosete atunci cnd aplicaia ateapt ca utilizatorul s seteze acest obiect. Spre
exemplu, s ne imaginm o aplicaie care nu poate trece la un alt pas pn cnd utilizatorul nu a
selectat acest tip de buton. Aceast selecie poate surveni, de exemplu, pentru luarea la cunotin a
implicaiilor folosirii frauduloase a aplicaiei.
n continuare, vor fi prezentate ferestrele cu proprieti i evenimente ale unei instane a
clasei JRadioButton (figura 4.5 i 4.6).
5
Figura 4.5. Fereastra cu proprieti Figura 4.6. Fereastra cu evenimente
n continuare vor fi prezentate principalele metode implementate n clasa jRadioButton:
jRadioButton1.setAlignmentX(float aliniere) i jRadioButton1.getAlignment() seteaz,
respectiv ntoarce, valoarea coordonatei X pe care se afl radio butonul pe form. Valoarea ntoars
de metoda getAlignment() este o valoare real;
jRadioButton1.setAlignmentY(float aliniere) i jRadioButton1.getAlignment() au aceleai
funcii ca i metodele de aliniere dup coordonata X;
jRadioButton1.setBackground(Color bg) i jRadioButton1.getBackground() seteaz,
respectiv ntoarce, culoarea de fond a radio butonului, aa cum va aprea la rularea aplicaiei;
jRAdioButton1.setEnabled(boolean b) are ca efect activarea sau dezactivarea radio
butonului, n funcie de valoarea pe care o ia argumentul logic b;
jRadioButton1.setFont(Font font) i jRadioButton1.getFont() seteaz, respectiv ntoarce,
fontul care se va folosi, respectiv a fost folosit, pentru a fi afiat textul care nsoete radio butonul;
jRadioButton1.setForeground(Color fg) i jRadioButton1.getForeground() seteaz,
respectiv ntoarce, culoarea textului care este, respectiv va fi afiat, n radio buton;
6
jRadioButton1.setLocation(int x, int y) i jRadioButton1.getLocation() seteaz, respectiv
ntoarce, valorile coordonatelor x i y la care se va poziiona, respectiv la care se afl poziionat,
colul stnga sus al radio butonului;
jRadioButton1.setText(String text) i jRadioButton1.getText() seteaz, respectiv ntoarce,
textul care va fi afiat, respectiv care este afiat, n radio buton;
jRadioButton1.setVisible(boolean aflag) are ca efect setarea proprietii de vizibilitate sau de
invizibilitate a radio butonului, n funcie de valoarea pe care o ia argumentul aflag. Dac metoda
setEnabled(boolean b) avea ca efect inaccesibilitatea obiectului pentru utilizator, metoda
setVisible(boolean true) va avea ca efect tergerea logic a acestuia de pe form. Altfel spus,
aceast metod va ascunde obiectul respectiv, astfel nct utilizatorul nu l mai poate vedea pe
form pn cnd acesta nu este fcut vizibil din alt metod sau clas.
n cazul clasei JRadioButton putem asocia diverse evenimente ca i la clasa JCheckBox.
4. Desfurarea lucrrii
Prima aplicaie presspune continuarea construirii aplicaiei de la lucrarea precedent astfel: se
va mai aduga un buton, care va conine textul Validare, precum i i se va asocia handlerul validare;
un obiect de tip caset de editare (JTextField), care nu va prezenta niciun text la iniializare i care
are asociat un eveniment de tip mouseExited.
Se dorete ca la iniializarea aplicaiei s poat fi accesate de ctre utilizator numai butonul de
validare i caseta de editare, iar dup validarea valorii de iniializare, aceasta s fie afiat n etichet,
urmnd ca midificarea ei s fie fcut cu ajutorul butoanelor de incrementare i decrementare, iar
butonul de validare s nu mai fie vizibil pentru utilizator. Trebuie asigurat i o msur de siguran,
n cazul n care utilizatorul dorete reiniializarea contorului. Acest lucru se realizeaz prin
implementarea aciunii de reiniializare asociat evenimentului mouseExited, legat de caseta de
editare.
n continuare se prezint listingul programului care realizeaz aceast aplicaie:
package aplicatie1;
/*
* forma.java
*
* Created on 23 octombrie 2006, 10:22
*/
/**
*
* @author Administrator
*/
public class forma extends javax.swing.JFrame {
//Zona de declarare a variabilelor globale
private int i;
/** Creates new form forma */
public forma() {
initComponents();
//Afisare sir vid in eticheta si caseta de editare
jLabel1.setText("");
jTextField1.setText("");
jTextField1.setSize(5,10); //se seteaza dimensiunea obiectului
//Dezactivarea butoanelor de incrementare si decrementare
jButton1.setEnabled(false);
jButton2.setEnabled(false);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
7
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
.........................................................................................
}// </editor-fold>
private void validare(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
//functie de conversie a unui sir de caractere intr-o valoare numerica in baza 10
i=java.lang.Integer.valueOf(jTextField1.getText(),10);
//functie de conversie a unei valori numerice intr-un sir de caractere
jLabel1.setText(java.lang.String.valueOf(i));
//Stergere de pe forma a butonului validare
jButton3.setVisible(false);
//Activare butoane de incrementare si decrementare
jButton1.setEnabled(true);
jButton2.setEnabled(true);
jTextField1.setText("");
}
//functia care implementeaza o actiune in urma realizarii evenimentului mouseExited
private void mouse(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
i=java.lang.Integer.valueOf(jTextField1.getText(),10);
jLabel1.setText(jTextField1.getText());
}
private void Dec(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
i--;
jLabel1.setText(java.lang.String.valueOf(i));
}
private void Inc(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
i++;
jLabel1.setText(java.lang.String.valueOf(i));
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new forma().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.J Button jButton1;
private javax.swing.J Button jButton2;
private javax.swing.J Button jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.J TextField jTextField1;
// End of variables declaration
}
Ferestrele aplicaiei la iniializare, dup validare i dup reiniializare sunt prezentate n
continuare:
8
Figura 4.7. Fereastra aplicaiei la iniializare Figura 4.8. Fereastra aplicaiei dup validare
Figura 4.9. Fereastra aplicaiei nainte de reiniializare Figura 4.10. Fereastra aplicaiei dup reiniializare
Figura 4.11. Fereastra aplicaiei n timpul rulrii
9
n continuare, se dorete construirea unui formular de nscriere. Acest formular trebuie s
conin urmtoarele obiecte: 7 obiecte de tip etichet (nume, prenume, adres, data naterii,
localiate, jude, sex); 7 obiecte de tip caset de editare asociate etichetelor astfel: pentru nume,
prenume, data naterii, localitate i jude cte o caset de editare, iar pentru adres dou casete de
editare; dou obiecte de tip radio buton asociate etichetei sex, care vor conine textul masculin,
respectiv feminin; dou casete de selecie care vor fi folosite pentru a semnala aplicaiei c
utilizatorul a citit condiiile impuse de aplicaie i este, respectiv nu este, de acord cu acestea; dou
butoane, Next> i Cancel, care vor fi folosite pentru nregistrare, respectiv pentru resetarea tuturor
valorilor; un obiect de tip zon de editare n care se vor afia toate datele introduse de utilizator,
precum i mesajul de final: nregistrarea a fost efectua cu succes!.
Asupra acestui formular de nscriere vor fi impuse cteva restricii de utilizare, i anume:
prima caset de editare este ntotdeauna activ, restul casetelor de editare devenind active numai
dup ce utilizatorul a introdus un text n caseta respectiv i a apsat click pe urmtoarea caset de
editare, fie a apsat tasta Tab. n continuare, radio butoanele asociate etichetei sex nu vor deveni
active dect atunci cnd utlizatorul a completat toate casetele de editare de deasupra lor. Aceste
butoane se exclud unul pe altul. Dup selecia sexului, vor deveni active cele dou casete de selecie.
Prin efectuarea unui click pe una dintre aceste dou casete, cealalt caseta de selecie va deveni
inactiv. Selecia casetei Sunt de acord cu condiiile va avea ca rezultat activarea butonului Next>.
Dac este selectat caseta Nu sunt de acord cu condiiile, atunci butonul Next> va rmne inactiv,
urmnd ca utilizatorul s poat accesa doar butonul Cancel i s reia procesul de introducere a
datelor. Dac butonul Next> este activ, prin apsarea lui toate cmpurile de selecie vor deveni
inactive, se va activa zona de editare n care se vor afia toate datele introduse de ctre utilizator, iar
la sfrit se va afia mesajul Inregistrarea a fost efectuat cu succes!.
Restriciile asupra casetelor de editare, a casetelor de selecie i a radio butoanelor se
implementeaz prin handlerele clickx, unde x reprezint numrul de ordine. Ele implementeaz un
handler asociat unui eveniment de tip mouseClicked. Celelalte restricii impuse casetelor de editare,
activarea urmtorului obiect la apsarea tastei Tab, sunt implementate prin handlerele Tabx, unde x
reprezint numrul de ordine al aciunii. Aceste handlere se asociaz unor evenimente de tipul
KeyPressed.
Listingul complet al programului este prezentat n continuare:
package formular;
/*
* formaformular.java
*
* Created on 27 octombrie 2006, 09:57
*/
import java.awt.event.KeyEvent;
/**
*
* @author Administrator
*/
public class formaformular extends javax.swing.J Frame {
private String sex;
/** Creates new form formaformular */
public formaformular() {
initComponents();
jTextField2.setEnabled(false);
jTextField3.setEnabled(false);
jTextField3.setEnabled(false);
jTextField4.setEnabled(false);
jTextField5.setEnabled(false);
jTextField6.setEnabled(false);
jTextField7.setEnabled(false);
jTextArea1.setVisible(false);
jRadioButton1.setEnabled(false);
10
jRadioButton2.setEnabled(false);
jCheckBox1.setEnabled(false);
jCheckBox2.setEnabled(false);
jButton1.setEnabled(false);
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
// <editor-fold defaultstate="collapsed" desc=" Generated Code ">
private void initComponents() {
.......................................................................
}// </editor-fold>
private void cancel(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextField1.setText("");
jTextField2.setEnabled(false);
jTextField2.setText("");
jTextField3.setEnabled(false);
jTextField3.setText("");
jTextField4.setEnabled(false);
jTextField4.setText("");
jTextField5.setEnabled(false);
jTextField5.setText("");
jTextField6.setEnabled(false);
jTextField6.setText("");
jTextField7.setEnabled(false);
jTextField7.setText("");
jTextArea1.setVisible(false);
jRadioButton1.setEnabled(false);
jRadioButton1.setSelected(false);
jRadioButton2.setEnabled(false);
jRadioButton2.setSelected(false);
jCheckBox1.setEnabled(false);
jCheckBox1.setSelected(false);
jCheckBox2.setEnabled(false);
jCheckBox2.setSelected(false);
jButton1.setEnabled(false);
}
private void next(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextField1.setEnabled(false);
jTextField2.setEnabled(false);
jTextField3.setEnabled(false);
jTextField4.setEnabled(false);
jTextField5.setEnabled(false);
jTextField6.setEnabled(false);
jTextField7.setEnabled(false);
jTextArea1.setVisible(true);
jRadioButton1.setEnabled(false);
jRadioButton2.setEnabled(false);
jCheckBox1.setEnabled(false);
jCheckBox2.setEnabled(false);
jButton1.setEnabled(false);
jTextArea1.setText("Nume: " +jTextField1.getText() +"\nPrenume: " +jTextField2.getText() +
"\nAdresa: " +jTextField3.getText() +"\n\t" +jTextField4.getText() +"\nData nasterii: " +
jTextField5.getText() +"\nLocaliatea: " +jTextField6.getText() +"\nJ udetul: " +
jTextField7.getText() +"\nSex: " +sex +"\n Inregistrarea a fost efectuata cu succes!");
}
private void click8(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
11
jCheckBox2.setEnabled(false);
jButton1.setEnabled(true);
}
private void click7(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
sex="feminin";
jRadioButton1.setEnabled(false);
jCheckBox1.setEnabled(true);
jCheckBox2.setEnabled(true);
}
private void click6(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
sex="masculin";
jRadioButton2.setEnabled(false);
jCheckBox1.setEnabled(true);
jCheckBox2.setEnabled(true);
}
private void click5(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(jTextField6.getText()!=""){
jTextField7.setEnabled(true);
}
}
private void click4(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(jTextField5.getText()!=""){
jTextField6.setEnabled(true);
}
}
private void click3(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(jTextField3.getText()!=""){
jTextField5.setEnabled(true);
}
}
private void click2(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(jTextField2.getText()!=""){
jTextField3.setEnabled(true);
jTextField4.setEnabled(true);
}
}
private void tab6(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if((KeyEvent.VK_TAB==9) && (jTextField7.getText()!="")) {
jRadioButton1.setEnabled(true);
jRadioButton2.setEnabled(true);
}
}
private void tab5(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if((KeyEvent.VK_TAB==9) && (jTextField6.getText()!="")) {
jTextField7.setEnabled(true);
}
}
private void tab4(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if((KeyEvent.VK_TAB==9) && (jTextField5.getText()!="")) {
jTextField6.setEnabled(true);
}
}
private void tab3(java.awt.event.KeyEvent evt) {
12
// TODO add your handling code here:
if((KeyEvent.VK_TAB==9) && (jTextField3.getText()!="")) {
jTextField5.setEnabled(true);
}
}
private void tab2(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if((KeyEvent.VK_TAB==9) && (jTextField2.getText()!="")) {
jTextField3.setEnabled(true);
jTextField4.setEnabled(true);
}
}
private void click1(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
if(jTextField1.getText()!=""){
jTextField2.setEnabled(true);
}
}
private void tab1(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
if((KeyEvent.VK_TAB==9) && (jTextField1.getText()!="")) {
jTextField2.setEnabled(true);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new formaformular().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.J Button jButton1;
private javax.swing.J Button jButton2;
private javax.swing.J CheckBox jCheckBox1;
private javax.swing.J CheckBox jCheckBox2;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.J RadioButton jRadioButton1;
private javax.swing.J RadioButton jRadioButton2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.J TextField jTextField1;
private javax.swing.J TextField jTextField2;
private javax.swing.J TextField jTextField3;
private javax.swing.J TextField jTextField4;
private javax.swing.J TextField jTextField5;
private javax.swing.J TextField jTextField6;
private javax.swing.J TextField jTextField7;
// End of variables declaration
}
13
n continuare este prezentat fereastra aplicaiei n diverse momente ale rulrii i diferite
situaii:
Figura 4.12 Fereastra aplicaiei la lansarea n execuie
Figura 4.13 Fereastra aplicaiei nainte de apsarea butonului Next>
Figura 4.14 Fereastra aplicaiei dup apsarea butonului Next>
Figura 4.15 fereastra aplicaiei n timpul completrii cmpurilor
14
Figura 4.16 Fereastra aplicaiei dup apsarea butonului Cancel
Pentru construirea fiierului executabil .jar se va alege din meniul Build opiunea Build Main
Project. n consola de ieire va fi indicat calea ctre acest fiier, care poate fi rulat indiferent de
platform, singura restricie fiind aceea ca platforma trebuie s aib instalat maina virtual jre (J ava
Runtime Environment).

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

  • Manual POO Si Vizuala
    Manual POO Si Vizuala
    Document232 pagini
    Manual POO Si Vizuala
    informaticasitero
    100% (5)
  • Instrumente CASE
    Instrumente CASE
    Document78 pagini
    Instrumente CASE
    AleXtazy
    Încă nu există evaluări
  • Java
    Java
    Document14 pagini
    Java
    AleXtazy
    Încă nu există evaluări
  • Curs Baze de Date
    Curs Baze de Date
    Document17 pagini
    Curs Baze de Date
    AleXtazy
    Încă nu există evaluări
  • Java
    Java
    Document14 pagini
    Java
    AleXtazy
    Încă nu există evaluări
  • POO Cursul 01
    POO Cursul 01
    Document32 pagini
    POO Cursul 01
    AleXtazy
    Încă nu există evaluări
  • MK 2 PP
    MK 2 PP
    Document20 pagini
    MK 2 PP
    Victor Ivanitchi
    Încă nu există evaluări
  • 2b. Psihologia Umanista LB Romana
    2b. Psihologia Umanista LB Romana
    Document15 pagini
    2b. Psihologia Umanista LB Romana
    Catalin Campian
    Încă nu există evaluări
  • POO Cursul 01
    POO Cursul 01
    Document32 pagini
    POO Cursul 01
    AleXtazy
    Încă nu există evaluări
  • Curs 11
    Curs 11
    Document23 pagini
    Curs 11
    Viviana Vasile
    Încă nu există evaluări