java 3 id 226367 Nieznany

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Programowanie komputerów

Programowanie komputerów

Wykład 3: „Projektowanie graficznych

interfejsów użytkownika w Java”

dr inż. Walery Susłow

walery.suslow@ie.tu.koszalin.pl

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Graficzny interfejs użytkownika

Graficzny interfejs użytkownika

GUI (Graphical User Interface), środowisko graficzne – jest

to ogólne określenie sposobu prezentacji informacji przez
komputer oraz interakcji z użytkownikiem, polegającego
na rysowaniu i obsługiwaniu widget’ów (kontrolek).

Interfejs graficzny został wymyślony przez pracowników

Interfejs graficzny został wymyślony przez pracowników

laboratorium PARC firmy Xerox. W Polsce pierwsze GUI
powstały w latach 70. do maszyn Odra.

Środowisko graficzne zapewnia alternatywny dla konsoli

sposób pracy na komputerze.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Słownictwo związane z projektowaniem GUI

Słownictwo związane z projektowaniem GUI

Komponenty – elementy wyświetlane (widget’y).

Kontener – obszar zawierający widget’y.

Układ (Layout) – sposób aranżacji kontenera.

Zdarzenia (Events) – interakcje z elementami GUI.

Ustawienia regionalne (Locale)

Pakiety lokalizacyjne (Resource Bundle)

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Hierarchia klas GUI: biblioteka AWT

Hierarchia klas GUI: biblioteka AWT

AWTEvent

Font

FontMetrics

Graphic s

Object

C olor

Button

TextComponent

Label

List

Container

Panel

Applet

Frame

Dialog

FileDialog

Window

TextField

TextArea

Component

Canvas

CheckBoxGroup

CheckBox

Choice

MenuComponent

MenuItem

MenuBar

M enu

Scrollbar

Layout Manager

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Komponenty „

Komponenty „Abstract Windowing Toolkit

Abstract Windowing Toolkit””



AWT zawiera kompletny

zestaw klas, służących do
tworzenia GUI.



Poszczególne elementy GUI

to komponenty, takie jak

to komponenty, takie jak
przyciski, listy, etykiety czy pola
wyboru. Są one reprezentacją
klas wywodzących się z pakietu
java.awt.Component.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Hierarchia klas GUI: biblioteka

Hierarchia klas GUI: biblioteka Swing

Swing

Dimension

Font

FontMetrics

Object

Color

Panel

Applet

JApplet

Heavyweight

Klasy znajdują się

w pakiecie java.awt

1

LayoutManager

Component

Graphic s

Object

Color

Container

Panel

Applet

Frame

Dialog

Window

J Component

JApplet

JFrame

JDialog

Komponenty Swing znajdują się

w pakiecie javax.swing

Lightweight

*

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Hierarchia klas

Hierarchia klas Swing (

Swing (JComponent

JComponent))

.

JButton

JMenuItem

JCheckBoxMenuItem

AbstractButton

JComponent

JMenu

JRadioButtonMenuItem

JToggleButton

JCheckBox

JRadioButton

JTextField

JTextComponent

JEditorPane

JPasswordField

JComboBox

JInternalFrame

JLayeredPane

JList

JMenuBar

JOptionPane

JPopupMenu

JProgressBar

JPane

JFileChooser

JScrollBar

JScrollPane

JSeparator

JSplitPane

JSlider

JTabbedPane

JTable

JTableHeader

JTextArea

JToolBar

JToolTip

JTree

JRootPane

JPanel

JColorChooser

JLabel

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Komponenty Swing

Komponenty Swing

•Obecnie Swing jest podstawową biblioteką służącą do
tworzenie interfejsów użytkownika w Javie.
•Swing składa się z komponentów lekkich. Mają one tą
zaletę że aplikacja wyglądała tak samo pod różnymi
systemami operacyjnymi i na dodatek można zmieniać styl
interfejsu podczas pracy z programem.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Główne pakiety

Główne pakiety Java GUI

Java GUI

Główne komponenty Java GUI:



java.awt.Component



java.awt.Container



javax.swing.Jcomponent

Manager układu komponentów GUI:



java.awt.LayoutManager



java.awt.LayoutManager



java.awt.LayoutManager2

Obsługa zdarzeń:



java.awt.event



javax.swing.event

Pakiety lokalizacyjne dla różnych ustawień regionalnych:



java.util.ResourceBundle

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Frame

Frame (ramka)

(ramka)



Frame to okno, które nie zawiera wewnątrz innych okien.



Frame jest to fundament na którym umieszczane są inne

komponenty graficznego interfejsu użytkownika danej
aplikacji.



Klasa Frame może być wykorzystana do tworzenia okna.



Klasa Frame może być wykorzystana do tworzenia okna.



W aplikacjach Java, wykorzystujących bibliotekę Swing,

klasa JFrame służy do budowania okienek.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Kod ramki testowej

Kod ramki testowej

import javax.swing.*;

public class MyFrame {

public static void main(String[] args) {

JFrame frame = new JFrame("Test Frame");

frame.setSize(400, 300);

frame.setSize(400, 300);

frame.setVisible(true);

frame.setDefaultCloseOperation(

JFrame.EXIT_ON_CLOSE);

}

}

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Struktura warstw ramki

Struktura warstw ramki JFrame

JFrame

Większość elementów GUI jest

umieszczana w obszarze ContentPane.

Warstwa GlassPane jest wykorzystywana

do „pop up” menu, oraz do niektórych
animacji.

Dostępne są metody:

GlassPane

GlassPane

Dostępne są metody:

getRootPane();
getLayeredPane();
getContentPane();
getGlassPane();

Można zarządzać widocznością warstw.

RootPane

RootPane

JFrame

JFrame

LayeredPane

LayeredPane

LayeredPane zawiera ContentPane

LayeredPane opcjonalnie zarządza JMenuBar

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Zarządzanie pozycją ramki na ekranie

Zarządzanie pozycją ramki na ekranie

screenHeight

getHeight()

(x, y)

Frame

Screen

(0, 0)

screenWidth

getWidth()

Domyślnie ramka (Frame) jest pokazywana w lewym górnym rogu
ekranu. Żeby pokazać ramkę w innym miejscu ekranu można użyć
metody setLocation(x, y) z klasy JFrame.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Dodawanie komponentów do ramki

Dodawanie komponentów do ramki

// Dodajemy przycisk do ramki

frame.getContentPane().add(new JButton("OK"));



Content Pane jest podklasą klasy Container. Dlatego,

poprzedni kod można zamienić na:

Container container = frame.getContentPane();

Container container = frame.getContentPane();

container.add(new JButton("OK"));



Obiekt klasy Container jest budowany, gdy buduje się

obiekt JFrame, a JFrame wykorzystuje ContentPane żeby
utrzymać komponenty wewnątrz ramki.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Menedżer układu

Menedżer układu



Klasy Javy umożliwiające automatyczne rozmieszczanie

komponentów nazywamy menedżerami układu (Layout
Managers).



Menedżer układu zapewnia właściwy poziom abstrakcji,

umożliwiając automatyczne mapowanie okna interfejsu

umożliwiając automatyczne mapowanie okna interfejsu
użytkownika na wszystkich systemach.



Elementy GUI są umieszczone w kontenerach. Każdy

kontener posiada własny menedżer układu do zarządzenia
elementami GUI wewnątrz siebie.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Menedżer układu,

Menedżer układu, cd

cd..

Sposób ułożenia komponentów w oknie aplikacji zależy od

użytej klasy menedżera. Pakiet AWT udostępnia pięć
takich klas:

FlowLayout - układ ciągły;

GridLayout - układ siatkowy;

BorderLayout - układ brzegowy;

CardLayout - układ kartkowy;

GridBagLayout - układ torebkowy.

Menedżera układu można pominąć, wywołując metodę

setLayout(null). Następnie należy własnoręcznie określić
współrzędne i rozmiary poszczególnych komponentów i
włożonych kontenerów.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Budowanie G

Budowanie GUI

UI aplikacji i apletu Java

aplikacji i apletu Java

Frame

Pull-down Menus

User Interface

Components (UI)

Panel

Applet

Panel

User Interface

Components

Panel

User Interface

Components

Pull-down Menus

Panel

Panel

UI

Panel

UI

Panel

UI

Panel

User Interface

Components

Panel

User Interface

Components

panel

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Komponenty i kontenery

Komponenty i kontenery

przycisk (Button)

płótno (Canvas)

pole wyboru (Checkbox)

etykieta (Label)

pasek przewijania (ScrollBar)

kontener (Container)

okno (Window)

ramka (Frame)

okno dialogowe (Dialog)

dialog plikowy (FileDialog)

pasek przewijania (ScrollBar)

lista (List)

lista rozwijana (Choice)

polecenia menu (MenuItem)

pole tekstowe (TextField)

obszar tekstowy (TextArea)

dialog plikowy (FileDialog)

panel (Panel)

okna przewijane (ScrollPane)

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Klasa Component

Klasa Component

W klasie Component zdefiniowane są metody wspólne dla wszystkich
komponentów. Metod tych używa się do pobierania (get

get), ustawiania

(set

set) i sprawdzania (is

is) właściwości komponentów AWT.

Size

rozmiar komponentu

getSize()

getSize(Dimension rozmiar)

rozmiar komponentu

setSize(int width, int height)

Location

położenie

getLocation()

getLocation(Point p)

setLocation(Point p)

Bounds

rozmiar

i

położenie

getBounds() lub getBounds(Rectangle r)

setBounds(x, y, width, height)

setBounds(Rectangle r)

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy Component

Metody klasy Component

Font

pismo

getFont()

setFont(Font f)

Background

kolor tła

getBackground()

setBackground(Color c)

Foreground

getForeground()

Foreground

kolor pierwszego planu

getForeground()

setForeground(Color c)

Visible

widzialność

isVisible()

setVisible(boolean b)

Enabled

dostępność

isEnabled()

setEnabled(boolean b)

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Wyrównywanie komponentów

Wyrównywanie komponentów

Do wyrównywania komponentów używane są następujące
stałe, zdefiniowane w klasie Component:



BOTTOM_ALIGNMENT



CENTER_ALIGNMENT



LEFT_ALIGNMENT



LEFT_ALIGNMENT



RIGHT_ALIGNMENT



TOP_ALIGNMENT

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Zdarzenia GUI

Zdarzenia GUI

Graficzny interfejs użytkownika powinien reagować na
zdarzenia, pochodzące od manipulatora czy klawiatury
użytkownika. Źródłami i słuchaczami zdarzeń są obiekty:



Zdarzenie (Event) – obiekt "niosący" informację o stanie

źródła;

źródła;



Źródło (Source) – obiekt, który generuje zdarzenie;



Słuchacz (Listener) – obiekt powiadamiany o wystąpieniu

zdarzenia.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Zdarzenia GUI,

Zdarzenia GUI, cd

cd..

Każdy obiekt-słuchacz, który ma reagować na zdarzenia,
musi spełniać dwa wymogi:



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;

nasłuchiwanego zdarzenia;



mieć zaimplementowany odpowiedni interfejs nasłuchu:

ActionListener (dla przycisku i pola tekstowego),

Adjustable (dla paska przewijania) oraz,

ItemListener (dla pól wyboru i list).

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Klasa

Klasa Button

Button

Do tworzenia przycisków wykorzystuje się konstruktor klasy Button:



Button(); //Tworzy pusty przycisk (bez napisu).



Button(String); //Tworzy przycisk z napisem.

Użyteczne metody klasy Button:



setLabel(String); //Ustawia tekst na przycisku.



setLabel(String); //Ustawia tekst na przycisku.



getLabel(); //Pobiera tekst wyświetlany na przycisku.

Zarządzanie nasłuchem przycisku:



addActionListener(); //Rejestruje słuchacza zdarzeń.



removeActionListener(); //Wyrejestrowuje słuchacza zdarzeń.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Przycisk i zdarzenia

Przycisk i zdarzenia

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class Ok extends Applet implements ActionListener {

Button button; String s;
public void init() {

s="";
button = new Button("OK");

button = new Button("OK");
button.addActionListener(this);
add(button);

}
public void paint(Graphics g)

{

g.drawString("" + s, 80, 70);

}
public void actionPerformed(ActionEvent e) {

s = "" + Math.random();
repaint();

} //Możemy sprawdzić, który z przycisków wygenerował

} //zdarzenie: if (e.getSource() == button1) { ...}

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Klasa Label

Klasa Label

Klasa Label służy do tworzenia etykiet umożliwiających wyświetlanie

tekstu jednowierszowego. Etykiety są często wykorzystywane do
opisywania komponentów GUI, więc tekst wyświetlany na nich nie
może być modyfikowany przez użytkownika.

Instrukcja tworząca etykietę ma postać:



Label label = new Label("Etykieta", Label.CENTER);



Label label = new Label("Etykieta", Label.CENTER);



add(label);

Wyrównanie tekstu etykiety poprzez wykorzystanie stałych Java:



Label.LEFT;



Label.RIGHT;



Label.CENTER.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Własności etykiet

Własności etykiet

Aby utworzyć etykietę o zasięgu globalnym należy najpierw zadeklarować na
poziomie klasy referencję do obiektu klasy Label, a następnie wewnątrz metody
inicjującej utworzyć obiekt klasy Label i ustawić jego początkowe własności.

public class Elementy extends Applet
{

Label label;
public void init()

public void init()
{ setLayout(null);

label = new Label("Etykieta", Label.CENTER);
label.setBackground(new Color(96,148,148));
label.setForeground(Color.orange);
label.setFont(new Font("Arial", Font.BOLD, 16));
label.setLocation(20,20);
label.setSize(80,20);
add(label); // dodanie etykiety do apletu

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Komponenty tekstowe

Komponenty tekstowe

Pola tekstowe i obszary tekstowe to podklasy klasy TextComponent

TextComponent.

Pola tekstowe

obiekty klasy TextField

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

TextArea.

Za pomocą odpowiednich stałych można wyposażyć obszar tekstowy w żądane

Za pomocą odpowiednich stałych można wyposażyć obszar tekstowy w żądane
paski przewijania:



TextArea.SCROLLBARS_BOTH;



TextArea.SCROLLBARS_HORIZONTAL_ONLY;



TextArea.SCROLLBARS_NONE ;



TextArea.SCROLLBARS_VERTICAL_ONLY ;

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Konstruktory

Konstruktory klasy

klasy TextField

TextField

Konstruktor

Opis

TextField()

Tworzy nowe puste pole tekstowe

TextField(int)

Tworzy nowe puste pole tekstowe
o podanej liczbie kolumn

o podanej liczbie kolumn

TextField(String)

Tworzy nowe pole tekstowe zawierające
podany tekst

TextField(String, int)

Tworzy nowe pole tekstowe zawierające
podany tekst o podanej liczbie kolumn

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy TextField

Metody klasy TextField

Metoda

Opis

echoCharIsSet()

Sprawdza, czy pole tekstowe wyświetla
zaszyfrowane informacje.

getColumns()

Zwraca liczbę widocznych kolumn

getEchoChar()

Zwraca znak zastępujący wprowadzane litery
(szyfrowanie tekstu)

setColumns(int)

Ustawia liczbę widocznych kolumn

setEchoChar(char)

Ustawia znak do szyfrowania

setText(String)

Ustawia domyślny tekst w polu tekstowym

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Konstruktory klasy TextArea

Konstruktory klasy TextArea

Konstruktor

Opis

TextArea()

Tworzy nowy pusty obszar tekstowy.

TextArea(int w, int k)

Tworzy nowy pusty obszar tekstowy
o określonej liczbie wierszy i kolumn.

TextArea(String tekst)

Tworzy nowy obszar tekstowy zawierający
podany tekst.

podany tekst.

TextArea(String tekst,
int w, int k)

Tworzy nowy obszar tekstowy zawierający
podany tekst, o określonej liczbie wierszy
i kolumn.

TextArea(String tekst,
int w, int k, int
paski)

Tworzy nowy obszar tekstowy zawierający
podany tekst, o określonej liczbie wierszy
i kolumn, z podanymi paskami przewijania.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy TextArea

Metody klasy TextArea

Metoda

Opis

append(String s)

Dołącza podany tekst na koniec obszaru
tekstowego

getColumns()

Zwraca liczbę kolumn obszaru tekstowego

getRows()

Zwraca liczbę wierszy obszaru tekstowego

getScrollbarVisibility() Zwraca informację o paskach przewijania

insert(String s, int n)

Wstawia podany tekst na podanej pozycji

replaceRange(String s,
int start, int end)

Zastępuje podanym tekstem informację
w określonym zakresie

setColumns(int c)

Ustawia liczbę wyświetlanych kolumn

setRows(int r)

Ustawia liczbę wyświetlanych wierszy

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Klasa ScrollBar

Klasa ScrollBar

Klasa Scrollbar służy do tworzenia pasków przewijania. Komponenty te
pozwalają na ustawianie wartości liczbowych za pomocą myszki.
Wyróżniamy dwa rodzaje pasków przewijania:



Scrollbar.HORIZONTAL



Scrollbar.VERTICAL

Każda zmiana ustawienia paska przewijania generuje zdarzenie typu
Adjustment. Jeśli klasa ma przechwytywać zdarzenia tego typu, powinna
implementować interfejs AdjustmentListener. Włącza on tylko jedną
metodę:

public void adjustmentValueChanged(AdjustmentEvent e)

{
}

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Konstruktory klasy Scrollbar

Konstruktory klasy Scrollbar

Konstruktor

Opis

Scrollbar( )

Tworzy nowy pionowy pasek przewijania

Scrollbar(int)

Tworzy nowy pionowy pasek przewijania o

Scrollbar(int)

Tworzy nowy pionowy pasek przewijania o
określonej orientacji

Scrollbar (int orientacja,

int wartość,

int rozmiar,
int min, int max)

Tworzy nowy pionowy pasek przewijania o
podanej orientacji, wartości początkowej,
rozmiarze ruchomego elementu, wartości
minimalnej i wartości maksymalnej

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy Scrollbar

Metody klasy Scrollbar

Metoda

Opis

getMaximum( )

Zwraca maksymalną możliwą wartość

getMinimum( )

Zwraca minimalną możliwą wartość

getOrientation( )

Zwraca orientację paska

getOrientation( )

Zwraca orientację paska

getValue( )

Zwraca wartość bieżącą paska

getBlockIncrement( )

Zwraca wartość blokowego skoku

getUnitIncrement( )

Zwraca wartość jednostkowego skoku

setOrientation(int orientacja)

Ustawia orientację paska

setValue(int wartość)

Ustawia wartość bieżącą na pasku

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Klasa Checkbox

Klasa Checkbox



Abstract Windowing Toolkit zawiera klasę Checkbox

Checkbox, która umożliwia

tworzenie pól wyboru.



Komponenty te mogą znajdować się w jednym z dwóch stanów -

"wybrany" (true) albo "niewybrany" (false). Klikając na polu wyboru
użytkownik może łatwo zmienić jego stan na przeciwny.



Pola te są niezależne od siebie i użytkownik może dokonać wyboru



Pola te są niezależne od siebie i użytkownik może dokonać wyboru

wielokrotnego, tzn. wiele z tych pól może być ustawionych w pozycji
"wybrany".



Możliwe też jest tworzenie grup opcji za pomocą klasy

CheckboxGroup, która wymusza pojedynczy wybór.



Kiedy pola są zebrane w grupę, traktowane są jak przyciski radiowe

(wzajemnie się wykluczające) i tylko jeden z nich może być wybrany.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Konstruktory klasy Checkbox

Konstruktory klasy Checkbox

Konstruktor

Opis

Checkbox()

Tworzy puste pole wyboru

Checkbox(String opis)

Tworzy pole wyboru z określoną etykietą opisu

Checkbox(String opis, boolean stan) Tworzy pole wyboru z etykietą opisu oraz

Checkbox(String opis, boolean stan) Tworzy pole wyboru z etykietą opisu oraz

ustala jego stan

Checkbox(String opis, boolean stan,
CheckboxGroup grupa)

Tworzy pole wyboru z etykietą opisu, ustala
jego stan oraz przypisuje je do danej grupy

Checkbox(String opis,
CheckboxGroup grupa, boolean
stan)

Tworzy pole wyboru z etykietą opisu,
przydziela je do danej grupy oraz ustala jego
stan.

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy Checkbox

Metody klasy Checkbox

Metoda

Opis

getCheckboxGroup()

Pobiera informację, do jakiej grupy należy
dane pole wyboru

getLabel()

Pobiera etykietę pola wyboru

getSelectedObjects()

Zwraca jednoelementową tablicę

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

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Listy i listy rozwijane

Listy i listy rozwijane



Listy są wykorzystywane w GUI, w którym użytkownik może

dokonywać wyboru spośród większej liczby możliwych opcji.



Jeśli mamy niewiele miejsca na GUI, możemy utworzyć listę

rozwijaną - komponent klasy Choice.

List l =new List();

Choice c =new Choice();

List l =new List();

l.add("zielony");

l.add("czerwony");

l.add("niebieski");

add(l);

Choice c =new Choice();

c.addItem("zielony");

c.addItem("czerwony");

c.addItem("niebieski");

c.addItem("żółty");

c.addItem("bronzowy");

add(c);

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy Choice

Metody klasy Choice

Metoda

Opis

add(String element)

Dodaje składnik do listy

addItem(String element)

Dodaje składnik do listy

getItem(int numer)

Zwraca napis odpowiadający elementowi
o podanym numerze

o podanym numerze

getItemCount()

Zwraca liczbę elementów listy

getSelectedIndex()

Zwraca numer zaznaczonego elementu

getSelectedItem()

Zwraca napis odpowiadający zaznaczonemu
elementowi

getSelectedObjects()

Zwraca jednoelementową tablicę zawierającą
zaznaczony element

background image

PK

1

2

0

0

6

©

W

al

e

ry

S

us

ło

w

Metody klasy Choice

Metody klasy Choice

Metoda

Opis

insert(String element, int numer)

Wstawia nowy element na podanej
pozycji

remove(int pozycja)

Usuwa element o podanej pozycji

remove(String elem)

Usuwa pierwszy element wyznaczony
przez podany napis

removeAll()

Usuwa wszystkie elementy

select(int nr)

Wybiera element o podanym numerze

select(String s)

Wybiera element którego opis jest
identyczny jak podany


Wyszukiwarka

Podobne podstrony:
Podstawy jezyka Java id 367418 Nieznany
java 1 id 226642 Nieznany
java script id 226485 Nieznany
Java wstep12 id 226647 Nieznany
podstawy programowania java id Nieznany
java 04 id 226341 Nieznany
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany

więcej podobnych podstron