Documente Academic
Documente Profesional
Documente Cultură
Button
Button este un control prin care efectum o aciune ntr-o aplicaie.
Vizualizarea lui este foarte similar cu controlul Label, dar
funcionalitatea sa este ceva mai complex, deoarece este capabil s
genereze o aciune.
Pentru a crea un buton/o tast, folosim urmtoarea construcie:
Button b = new Button("Click me");
Constructorul accept un parametru n care se gsete textul afi?at pe
tast, sau nu accept niciunul, caz n care pe tast nu va fi niciun text.
Cnd adugm un titlu tastei, acesta se va lrgi dinamic n funcie de
textul introdus i dac dorim s-i ajustm mrimea, o controlm prin
metoda setPreferedSize:
b.setPreferredSize(new Dimension(110, 20));
Pentru a asculta evenimentul de apsare a unei taste, clasa Button are
op?iunea de a i se aduga un ActionListener:
Adugarea urmtorului ActionListener pe clasa Button i va schimba
titlul dup activare:
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
((Button)e.getSource()).setLabel("Click performed");
}
});
Choice
Choice myChoice = new Choice();
myChoice.add("Audi");
myChoice.add("BMW");
myChoice.add("Mercedes");
f.add(myChoice);
LIST
Urmtorul exemplu creeaz o list cu trei elemente i prin apsarea
tastei emite denumirile elementelor selectate n consola de ieire:
import java.awt.*;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static List myCars;
public static void main(String[] args) throws InterruptedException {
Frame f = new Frame();
LayoutManager layOut = new FlowLayout();
f.setLayout(layOut);
f.setSize(300,300);
myCars = new List(10, true);
myCars.add("Renault");
myCars.add("BMW");
myCars.add("Mercedes");
Button b = new Button("Show selected");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String[] selectedCars = myCars.getSelectedItems();
for(int i=0;i<selectedCars.length;i++)
System.out.println(selectedCars[i]);
}
});
f.add(myCars);
f.add(b);
f.setVisible(true);
}
}
TextField i TextArea
Ultimul control din lista noastr de componente AWT de baz este
TextField sau TextArea. Aceste dou controale au caracteristici foarte
similare, cu excep?ia faptului c TextArea are op?iunea de a introduce
mai multe linii de text.
Urmtorul cod creeaz ambele comenzi:
TextField tf = new TextField("Hello from TextField");
TextArea ta = new TextArea("Hello from TextArea box", 5, 25);
f.add(tf);
f.add(ta);
Pentru controalele de text cel mai important lucru este cum s
introduc text n ele nsele i cum s-l extrag din ele. Efcetum acest
lucru l facem prin metodele setText i getText:
tf.setText("This is my new text");
tf.getText();
Exist op?iunea de a manipula textul n cadrul controlului. De exemplu,
urmtoarea metod (setEchoChar) transform toate caracterele n
caracterul special dorit, n timp ce coninutul rmne acelai (de
exemplu, dac n cmp scrie hello, va fi afi?at *****, dar valoarea
cmpului va rmne n continuare hello:
tf.setEchoChar('*');
Urmtoarele metode returneaz textul selectat i indexul primului,
respectiv al ultimului caracter al textului selectat:
tf.getSelectedText();
tf.getSelectionStart();
tf.getSelectionEnd();
Exemplul creeaz dou cmpuri de text i o tast. Cnd se apas pe
tast, coninutul selectat al primului cmp de text este copiat n al
doilea cmp de text:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
static TextField tf_source;
static TextField tf_destination;
public static void main(String[] args) throws InterruptedException {
Frame f = new Frame();
f.setLayout(new FlowLayout());
tf_source = new TextField(20);
tf_destination = new TextField(20);
Button b = new Button("copy");
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tf_destination.setText(tf_source.getSelectedText());
}
});
f.add(tf_source);
f.add(b);
f.add(tf_destination);
f.setSize(300, 300);
f.setVisible(true);
}
}