Mai jos e un proiect pe care l-am scris in graba ca exemplu pentru colegii de la faculta care nu stiu sa lucreze cu interfete grafice. package exemplu;import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SwingUtilities; class Interfata extends JFrame implements ActionListener { //Declaram obiectele (variabilele) la inceput inainte //de constructor pentru a le putea utiliza in alte metode JTextField camp,camp2; //Constructorul principal Interfata() { //setam titlul ferestrei setTitle("Exemplu interfata"); //setam lungimea (340px) si inaltimea (200px) ferestrei setSize(340, 200); //setari pentru fereastra setLocationRelativeTo(null); setDefaultCloseOperation(EXIT_ON_CLOSE); //preluam fereastra in variabila container pentru a putea lucra pe ea JPanel container = (JPanel) getContentPane(); container.setLayout(null); //creem un nou label (text) pe fereastra JLabel intro = new JLabel(); //adaugam un text label-ului creat intro.setText("Text 1:"); //setam zona unde va fi afisat si dimensiunile /* Setarile sunt in felul urmator: setBounds(A,B,C,D) unde A = numarul de pixeli fata de stanga B = numarul de pixeli fata de sus C = numarul de pixeli in lungime D = numarul de pixeli in inaltime */ intro.setBounds(10, 15, 50, 22); //adaugam label-ul in fereastra container.add(intro); //Creem un chenar de scris in program, precompletat cu textul "Continut camp 1" camp = new JTextField("Continut camp 1"); camp.setBounds(60,15,270,22); container.add(camp); //Creem un alt label JLabel intro2 = new JLabel(); intro2.setText("Text 2:"); intro2.setBounds(10, 45, 50, 22); container.add(intro2); //Creem un alt camp de scris camp2 = new JTextField("Continut camp 2"); camp2.setBounds(60,45,270,22); container.add(camp2); //Creem un buton pe care scrie Buton 1 JButton go = new JButton("Buton 1"); go.setBounds(10,75,100,22); container.add(go); //Cu metoda asta adaugam un Listener (o functie) butonului, am explicat mai jos go.addActionListener(this); //Creem un buton pe care scrie Buton 2 JButton go2 = new JButton("Buton 2"); go2.setBounds(120,75,100,22); container.add(go2); go2.addActionListener(this); //Creem un buton pe care scrie Buton 3 JButton go3 = new JButton("Buton 3"); go3.setBounds(230,75,100,22); container.add(go3); go3.addActionListener(this); //Creem un mic copyright JLabel cp = new JLabel(); cp.setText("Copyright 2014 Xulescu Ion"); cp.setBounds(10, 110, 200, 22); container.add(cp); } //Mai jos este metoda pentru adaugarea de functii butoanelor public void actionPerformed(ActionEvent e) { //Daca am apasat pe Buton 1 (se verifica cu textul de pe buton) if(e.getActionCommand()=="Buton 1") { //Asta e un simplu alert/popup JOptionPane.showMessageDialog(null, "Ai apasat butonul 1."); } //Daca am apasat pe Buton 2 if(e.getActionCommand()=="Buton 2") { //Aici am facut un alert cu un text pe doua randuri, separandu-le prin \n //pe randul al doilea am preluat continutul variabilei camp //NU se poate lua continutul daca variabila nu este declarata superior metodei acesteia (spre ex daca e declarata in constructor) //pentru a afisa continutul, folosim metoda getText() JOptionPane.showMessageDialog(null, "Ai apasat butonul 2.\nTextul din campul 1 este: " + camp.getText()); } //Daca am apasat pe Buton 3 if(e.getActionCommand()=="Buton 3") { //In acest caz am concatenat (lipit) textele din primele doua campuri //Am inceput prin initializarea unei variabile de tip StringBuffer StringBuffer concatenare = new StringBuffer(); //Am adaugat continutul din camp si camp2 variabilei concatenare utilizand metoda append() concatenare.append(camp.getText()); concatenare.append(camp2.getText()); //Am afisat rezultatul, alaturi de lungime. In acest caz am folosit metoda length() JOptionPane.showMessageDialog(null, "Ai apasat butonul 3.\nTextele din camp si camp2 impreuna formeaza stringul '" + concatenare.toString() + "' care are lungimea " + concatenare.length()); } } //Main-ul public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { public void run() { Interfata interfata = new Interfata(); interfata.setVisible(true); } }); } }