w6.pdf

(267 KB) Pobierz
Microsoft PowerPoint - w6.ppt
Wykład 6
Graficzny interfejs użytkownika I
Komponenty: etykieta, przycisk, pole tekstowe
Wygląd interfejsów
Klasa wewnętrzna słuchacza
Anonimowa klasa wewnętrzna słuchacza
Interfejs aplikacji
Aplet jako aplikacja
645495563.003.png
Okno IE z komponentami interfejsu graficznego
pasek tytułu
przycisk
etykieta
pasek menu
pole tekstowe
645495563.004.png
Podstawowe pojęcia
Graficzny interfejs użytkownika (ang. graphical user interface – GUI) jest
nowoczesnym łączem między człowiekiem i komputerem, zbudowanym z
komponentów (ang. components), korzystającym z grafiki wysokiej rozdzielczości
oraz graficznego urządzenia wskazującego.
GUI jest częścią JFC (Java Foundation Classes), a najważniejszym pakietem GUI
jest Swing nadbudowany nad AWT (Abstract Windows Toolkit = Abstrakcyjny
Przybornik Okienkowy). Klasy GUI można podzielić na kilka kategorii.
Kontrolki (ang. controls, widgets = window gadgets). Kontrolki są komponentami,
z którymi użytkownik może współdziałać, np. przycisk (ang. button). Kontrolki
charakteryzują się wyglądem (ang. look) i zachowaniem (ang. feel).
Zarządcy rozkładu (ang. layout managers) zarządzają rozkładem komponentów w
oknie (np. FlowLayout – rozkład ciągły).
Zdarzenia (ang. events) i słuchacze zdarzeń (ang. event listeners). Każda klasa
zdarzeń reprezentuje pewną akcję użytkownika, np. klasa ActionEvent dla
naciśnięcia przycisku. Każda klasa zdarzeń jest związana z klasą słuchaczy,
odpowiedzialną za obsługę zdarzeń tego typu, np. klasa implementująca interfejs
ActionListener jest związana z klasą ActionEvent.
Klasy graficzne (Color, Font, Graphics, ..., Point, Rectangle, ...) i obrazujące
(Image, Icon, ...).
645495563.005.png
Komponenty: etykieta, przycisk, pole tekstowe
Możliwości pakietu Swing demonstruje aplet
folder_Javy \demo\jfc\SwingSet2\SwingSet2.html.
Poniższe przykłady zademonstrują użycie etykiet, przycisków i pól tekstowych.
Nazwa Klasa Opis
etykieta JLabel Nieredagowalny tekst lub ikona.
przycisk JButton Obszar generujący zdarzenie po kliknięciu myszą, może być związany z
tekstem lub ikoną, można zdefiniować skrót klawiaturowy i/lub wskazówkę.
pole JTextField Jednowierszowy komponent tekstowy, służący do wprowadzania lub
tekstowe wyświetlania danych.
Komponenty są wyświetlane w oknie, które jest pojemnikiem (lub kontenerem , ang.
container), składającym się z warstw. Najgłębsza warstwa jest pulpitem (ang content
pane), na którym będziemy układali komponenty za pomocą metody add( komponent ) .
Referencję do pulpitu można uzyskać używając metody getContentPane().
645495563.006.png
Wygląd interfejsu
Naszym celem jest zbudowanie interfejsu o następującym wyglądzie:
etykieta
przycisk
wskazówka
Instrukcja
{UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());}
określa wygląd interfejsu na przenośny (Java Look&Feel). Przeprowadź eksperymenty z innymi
wyglądami, podając jako argumenty setLookAndFeel:
UIManager.getSystemLookAndFeelClassName() //wygląd rodzimy
"javax.swing.plaf.metal.MetalLookAndFeel" // Java Look & Feel
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel" // Win32
"com.sun.java.swing.plaf.motif.MotifLookAndFeel" // Unix
645495563.001.png 645495563.002.png
Zgłoś jeśli naruszono regulamin