This is an old revision of the document!
In cazul programelor pe care le-am facut pana acum, toate mesajele si raspunsurile apareau ca linii de text sugestive, ecranul fiind folosit in mod text. Un astfel de stil de comunicare nu este atractiv pentru utilizatori, motiv pentru care se prefera dialogul prin interfete grafice sau GUI (Graphical User Interface), ecranul fiind folosit in mod grafic.
In trecerea de la o versiune la alta, bibliotecile de clase care ofera servicii grafice au suferit, probabil, cele mai mari schimbari. Acest lucru se datoreaza, pe de o parte, dificultatii legate de implementarea notiunii de portabilitate, iar pe de alta parte nevoii de a integra mecanismele GUI cu tehnologii aparute si dezvoltate ulterior.
In momentul actual, exista doua modalitati de a crea o aplicatie cu interfata grafica, iar acestea sunt:
Componentele Swing, spre deosebire de predecesoarele din versiunile Java anterioare, sunt implementate in intregime in Java. Aceasta are ca rezultat o mai buna compatibilitate cu platforme diferite decat in cazul folosirii componentelor AWT. Unul din principalele deziderate ale tehnologiei Swing a fost sa puna la dispozitie un set de componente GUI extensibile care sa permita dezvoltarea rapida de aplicatii Java cu interfata grafica competitiva, din punct de vedere comercial. Cel mai important pachet, care contine componentele de baza este javax.swing.
Orice interfata utilizator Java este compusa din urmatoarele elemente:
Clasa JFrame este cea pe care o vom folosi pentru a crea ferestre. Ca orice alta clasa care reprezinta componente Swing ea se afla in pachetul javax.swing. Pentru ca este un container, vom folosi, de cele mai multe ori, aceasta clasa prin mostenire nu prin instantiere. Altfel spus, vom crea clase care sa reprezinta ferestre si pentru ca acestea sa devina ferestre de tip JFrame ele vor mosteni aceasta clasa.
public class Fereastra extends JFrame { private JButton button; public Fereastra (String text){ super(text); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setMinimumSize(new Dimension (3 0 0, 2 0 0)); getContentPane().setBackground (Color.blue); setLayout(new SpringLayout()); button = new JButton("Apasa"); add(button); show(); pack(); } public static void main(String args[]) { Fereastra f = new Fereastra("Laborator POO" ) ; } }
Metoda add(Component c) este folosita pentru a adauga pe fereastra o componenta exact ca in cazul Appleturilor. Metoda add() este mostenita din clasa Container.
Un buton poate fi creat folosind clasa JButton. De obicei, butonul este contruit folosind unul dintre constructorii: