java12.pdf
(
89 KB
)
Pobierz
Ćwiczenie 1:
Java – Aplety – pakiet AWT
Pakiet Abstract Windowing Toolkit (AWT) zawiera zestaw klas, służących do tworzenia
graficznego interfejsu użytkownika, nazywanego w skrócie GUI (Graphical User Interface).
Poszczególne elementy GUI to komponenty, takie jak przyciski, listy, etykiety czy pola wyboru.
Są one reprezentowane przez klasy wywodzące się z java.awt.Component.
Komponenty i kontenery
Elementy GUI dzielą się na komponenty (kontrolki, sterowniki) oraz kontenery, które są używane
do przechowywania innych elementów.
✔
przyciski (Button)
✔
płótna (Canvas)
✔
pola wyboru (Checkbox)
✔
etykiety (Label)
✔
paski przewijania (ScrollBar)
✔
listy (List)
✔
listy rozwijane ( Choice)
✔
polecenia menu ( MenuItem)
✔
komponenty tekstowe (TextField i TextArea)
✔
kontenery (Container)
✔
okna (Window)
✔
ramki (Frame)
✔
okna dialogowe (Dialog)
✔
dialogi plikowe (FileDialog)
✔
panele (Panel)
✔
okna przewijalne (ScrollPane)
Uwaga:
W klasie Component zdefiniowane są metody wspólne dla wszystkich komponentów. Metod tych
używa się do pobierania (get), ustawiania (set) i sprawdzania (is) właściwości komponentów AWT.
Więcej na www.java.sun.com
Graficzny interfejs użytkownika oprócz samego wyświetlania komponentów powinien reagować na
zdarzenia pochodzące od użytkownika. Źródłami i słuchaczami zdarzeń są obiekty
✔
zdarzenie (event) - obiekt "niosący" informację o stanie źródła
✔
źródło (source) - obiekt, który generuje zdarzenia
✔
słuchacz (listener) -obiekt powiadamiany o wystąpieniu zdarzenia.
Każdy obiekt-słuchacz, który ma reagować na zdarzenia musi spełniać dwa wymogi:
✔
musi być zarejestrowany na liście słuchaczy zdarzeń. Rejestracji dokonuje się za pomocą
metody addxxxListener(), wywoływanej na rzecz komponentu inicjującego zdarzenie,
gdzie "xxx" reprezentuje typ nasłuchiwanego zdarzenia;
✔
musi mieć zaimplementowany odpowiedni interfejs nasłuchu:
●
ActionListener (dla przycisku i pola tekstowego),
●
Adjusta
ﱢ
le (dla paska przewijania) oraz
●
ItemListener (dla pól wyboru i list)
Java – Aplety – pakiet AWT
Klasa Button
Przyciski są jednym z najczęściej używanych komponentów graficznego interfejsu użytkownika.
Do tworzenia przycisków wykorzystuje się następujące konstruktory klasy Button:
✔
Button() - tworzy pusty przycisk (bez napisu)
✔
Button(String) - tworzy przycisk z napisem
Tekst na przycisku można ustawiać za pomocą metody
setLabel(String)
Pobieranie tekstu wyświetlanego na przycisku realizuje metoda
getLabel()
Rejestrowanie słuchacza zdarzeń akcji umożliwia metoda
addActionListener()
Wyrejestrowanie słuchacza zdarzeń akcji - metoda
removeActionListener()
Klasa Label
Klasa Label służy do tworzenia etykiet umożliwiających wyświetlanie tekstu (tylko jeden wiersz).
Etykiety są w zasadzie wykorzystywane do opisywania innych elementów apletu, więc tekst
wyświetlany na nich nie może być modyfikowany przez użytkownika.
Instrukcja tworząca etykietę ma postać:
Label lab = new Label("Etykieta", Label.CENTER);
add(lab);
Tekst umieszczony w etykiecie może być wyrównany do lewej, do prawej, lub wyśrodkowany za
pomocą stałych
✔
Label.LEFT,
✔
Label.RIGHT,
✔
Label.CENTER.
Komponenty tekstowe
Pola tekstowe i obszary tekstowe to podklasy klasy komponentu tekstowego - TextComponent.
Pola tekstowe - obiekty klasy
TextField
umożliwiają wprowadzanie i modyfikowanie tekstu, ale
ich rozmiar jest ograniczony do jednego wiersza.
Do wprowadzania większych, wielowierszowych tekstów stosuje się obszary tekstowe - obiekty
klasy
TextArea.
Tworząc obszar tekstowy można dokładnie zaprojektować jego szerokość i wysokość, a także za
pomocą odpowiednich stałych wyposażyć go w żądane paski przewijania:
✔
TextArea.SCROLLBARS_BOTH
✔
TextArea.SCROLLBARS_HORIZONTAL_ONLY
✔
TextArea.SCROLLBARS_NONE
✔
TextArea.SCROLLBARS_VERTICAL_ONLY
Java – Aplety – pakiet AWT
Klasa Checkbox
Klasa Checkbox umożliwia wstawianie do apletów, lub aplikacji okienkowych pól umozliwiajacych
dokonanie wielokrotnego wyboru. Podstawowe metody klasy Checkbox:
✔
getCheckboxGroup() Pobiera informację, do jakiej grupy należy dane pole wyboru
✔
getLabel() Pobiera etykietę pola wyboru
✔
getSelectedObjects() Zwraca jednoelementowš tablicę zawierajšcš etykietę pola lub null
je�li pole nie jest zaznaczone
✔
getState() Sprawdza, czy pole jest zaznaczone
✔
setCheckboxGroup(CheckboxGroup g) Dodaje pole wyboru do podanej grupy
✔
setLabel(String etykieta) Ustawia etykietę pola wyboru
✔
setState(boolean stan) Ustawia stan pola wyboru
Klasa CheckboxGroup
To klasa, która ma możliwość łączenia w sobie obiektów klasy Checkbox, tak, aby możliwy był
tylko jednokrotny wybór.
Ćwiczenie 1:
Aplet z obiektami klasy checkbox.
import java.applet.Applet;
import java.awt.*;
public class checkpanels extends Applet {
checkboxpanel panel1, panel2, panel3;
public void init(){
setLayout(new GridLayout(1, 3));
panel1 = new checkboxpanel();
panel2 = new checkboxpanel();
panel3 = new checkboxpanel();
add(panel1);
add(panel2);
add(panel3);
}
}
class checkboxpanel extends Panel {
Checkbox check1, check2, check3, check4;
checkboxpanel(){
check1 = new Checkbox("1");
add(check1);
check2 = new Checkbox("2");
add(check2);
check3 = new Checkbox("3");
add(check3);
check4 = new Checkbox("4");
add(check4);
} }
Java – Aplety – pakiet AWT
Ćwiczenie 2:
Aplet zawierający klasę CheckboxGroup.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class radios extends Applet implements ItemListener {
CheckboxGroup checkboxgroup1;
Checkbox checkbox1, checkbox2, checkbox3, checkbox4, checkbox5;
TextField text1;
public void init(){
checkboxgroup1 = new CheckboxGroup();
checkbox1 = new Checkbox("1", false, checkboxgroup1);
add(checkbox1);
checkbox1.addItemListener(this);
checkbox2 = new Checkbox("2", false, checkboxgroup1);
add(checkbox2);
checkbox2.addItemListener(this);
checkbox3 = new Checkbox("3", false, checkboxgroup1);
add(checkbox3);
checkbox3.addItemListener(this);
checkbox4 = new Checkbox("4", false, checkboxgroup1);
add(checkbox4);
checkbox4.addItemListener(this);
checkbox5 = new Checkbox("5", false, checkboxgroup1);
add(checkbox5);
checkbox5.addItemListener(this);
text1 = new TextField(20);
add(text1);
}
public void itemStateChanged(ItemEvent e){
if(e.getItemSelectable() == checkbox1){
text1.setText("Radio button 1 clicked!");}
if(e.getItemSelectable() == checkbox2){
text1.setText("Radio button 2 clicked!"); }
if(e.getItemSelectable() == checkbox3){
text1.setText("Radio button 3 clicked!"); }
if(e.getItemSelectable() == checkbox4){
text1.setText("Radio button 4 clicked!"); }
if(e.getItemSelectable() == checkbox5){
text1.setText("Radio button 5 clicked!"); }
}
Ćwiczenie 3:
Program dodający do siebie dwie liczby
import java.applet.Applet;
import java.awt.*;
Java – Aplety – pakiet AWT
import java.awt.event.*;
public class adder extends Applet implements ActionListener {
TextField text1, text2, answertext;
Label pluslabel;
Button button1;
public void init(){
text1 = new TextField(10);
add(text1);
pluslabel = new Label("+");
add(pluslabel);
text2 = new TextField(10);
add(text2);
button1 = new Button("=");
add(button1);
button1.addActionListener(this);
answertext = new TextField(10);
add(answertext);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == button1){
int sum = Integer.parseInt(text1.getText()) + Integer.parseInt(text2.getText());
answertext.setText(String.valueOf(sum));
}
}
}
Ćwiczenie 4:
Aplet dodający – wersja 2.
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class adder2 extends Applet implements ActionListener {
TextField text1, text2, answertext;
Label pluslabel, fill1, fill2, fill3, fill4, fill5,
fill6, fill7, fill8, fill9, fill10;
Label spacer1, spacer2, spacer3, spacer4, spacer5,
spacer6;
Button button1;
public void init(){
setLayout(new GridLayout(9, 3));
fill1 = new Label();
add(fill1);
text1 = new TextField(10);
add(text1);
fill2 = new Label();
add(fill2);
fill3 = new Label();
Plik z chomika:
ell_lornzo
Inne pliki z tego folderu:
java14.pdf
(182 KB)
java13.pdf
(40 KB)
java12.pdf
(89 KB)
java11.pdf
(47 KB)
java10.pdf
(51 KB)
Inne foldery tego chomika:
c#
c++
Free Pascal
Zgłoś jeśli
naruszono regulamin