mgr Agnieszka Patyk, Wydział FTiMS, Politechnika Gdańska, 2007

WŁASNOŚCI KOMPONENTÓW I KONTENERÓW

Button / guzik

Przykłady konstruktorów:

Button b1=new Button(); //konstruktor pusty

Button b1=new Button("Guzik 1"); //podajemy napis na guziku Niektóre metody:

b1.setBackground( Color.blue ); //kolor tła

b1.setBackground( new Color(0,128,0) ); //równieŜ kolor tła

b1.setEnabled( false ); //zablokowanie guzika

b1.setVisible( false ); //guzik staje się niewidzialny

b1.setFont( new Font("Serif",Font.BOLD,14) ); //czcionka na guziku: Serif, pogrubiona, rozmiar 14

b1.setForeground(Color.red); //kolor napisu na guziku

b1.setLabel("moj guzik"); //ustawienie napisu na guziku

String napis_z_guzika = b1.getLabel(); //pobranie napisu z guzika

TextField / pole tekstowe

Przykłady konstruktorów:

TextField t1 = new TextField(); //konstruktor pusty

TextField t1 = new TextField(20); //szerokość na maksymalnie 20 znaków TextField t1 = new TextField("Hello", 20); //napis "Hello", szerokość na maksymalnie 20 znaków Niektóre metody:

t.setText( "to jest moj tekst" ); //ustawienie tekstu

String pobierz = t.getText(); //pobranie tekstu

int ile_znakow = t.getColumns(); //pobranie ilości znaków

t.setColumns(30); //ustawienie ilości znaków

Analogicznie jak dla guzika działają:

setFont, setBackground, setForeground, setEnabled, setVisible

Label / etykieta

Przykłady konstruktorów:

Label l1 = new Label(); //konstruktor pusty

Label l1 = new Label("napis"); //podajemy napis

//podajemy napis i wyjustowanie, oprócz CENTER mamy teŜ LEFT i RIGHT: Label l1 = new Label("napis",Label.CENTER);

Niektóre metody:

int pobierz = l1.getAlignment(); //zwraca wyjustowanie

l1.setAlignment(Label.LEFT); //ustawia wyjustowanie

Analogicznie jak dla TextField działają:

setText, getText oraz setFont, setBackground, setForeground, setEnabled, setVisible TextArea / "dwuwymiarowe" pole tekstowe

Przykłady konstruktorów:

TextArea t1 = new TextArea(); //konstruktor pusty

TextArea t1 = new TextArea(20,30); //20 rzędów, 30 kolumn

TextArea t1 = new TextArea("Hello"); //podajemy tekst

TextArea t1 = new TextArea("Hello",20,30); //20 rzędów, 30 kolumn i dodatkowy tekst

//dodatkowo rodzaj scrollbarów:

TextArea t1 = new TextArea("Hello",20,30,TextArea.SCROLLBARS_BOTH);

mgr Agnieszka Patyk, Wydział FTiMS, Politechnika Gdańska, 2007

Rodzaje scrollbarów:

TextArea.SCROLLBARS_BOTH, TextArea.SCROLLBARS_HORIZONTAL_ONLY,

TextArea.SCROLLBARS_VERTICAL_ONLY , TextArea.SCROLLBARS_NONE

Niektóre metody:

t1.setText( "to jest moj tekst" );

String pobierz = t1.getText();

int ile_kolumn = t1.getColumns();

int ile_rzedow = t1.getRows();

t1.setColumns(30);

t1.setRows(20);

t1.insert("wstawiam tekst na pozycje 21",21);

t1.append("doklejam tekst na końcu");

t1.replaceRange("nowy tekst zamiast starego na pozycjach od 11 do 119", 11, 119) ; Analogicznie jak dla innych komponentów działają:

setFont, setBackground, setForeground, setEnabled, setVisible

Checkbox

Przykłady konstruktorów:

Checkbox c1 = new Checkbox(); //konstruktor pusty

Checkbox c1 = new Checkbox("Hello"); //napis obok checkboxa Checkbox c1 = new Checkbox("Hello",true); //dodatkowo stan początkowy Niektóre metody:

c1.setLabel( "to jest moj tekst na checkboksie" );

String pobierz_napis = c1.getLabel();

c1.setState(false);

boolean stan = c1.getState();

Analogicznie jak dla innych komponentów działają:

setFont, setBackground, setForeground, setEnabled, setVisible

Choice / coś w rodzaju ComboBoxa

Konstruktor:

Choice c1 = new Choice(); //konstruktor pusty

Niektóre metody:

c1.add("kolejna opcja");

int ile_elementow = c1.getItemCount();

String pierwszy_elem = c1.getItem(0);

String obecnie_wybrany_elem = c1.getSelectedItem();

c1.insert("opcja wstawiona na pozycje 4",4);

c1.remove(8);

c1.remove("napis do usuniecia");

c1.removeAll();

c1.select(8);

c1.select("napis do zaznaczenia");

Analogicznie jak dla innych komponentów działają:

setFont, setBackground, setForeground, setEnabled, setVisible

List / lista

Konstruktory:

List l1 = new List(); //konstruktor pusty

List l1 = new List(7); //liczba widzialnych linii

Niektóre metody:

l1.add("kolejna opcja");

mgr Agnieszka Patyk, Wydział FTiMS, Politechnika Gdańska, 2007

l1.add("kolejna opcja",7);

int ile_elementow = l1.getItemCount();

String pierwszy_elem = l1.getItem(0);

String obecnie_wybrany_elem = l1.getSelectedItem();

int obecnie_wybrany_elem = l1.getSelectedIndex();

l1.insert("opcja wstawiona na pozycje 4",4);

l1.remove(8);

l1.remove("napis do usuniecia");

l1.removeAll();

l1.select(8);

l1.deselect(8);

l1.select("napis do zaznaczenia");

boolean czy=l1.isIndexSelected(7);

l1.replaceItem("nowa opcja",5);

Analogicznie jak dla innych komponentów działają:

setFont, setBackground, setForeground, setEnabled, setVisible

Panel

Konstruktory:

Panel p = new Panel(); //konstruktor pusty

Panel p = new Panel(new FlowLayout()); //podajemy rodzaj kontenera

Niektóre metody:

p.add(new Button("guzik 1"));

p.setLayout(new GridLayout(2,5));

Analogicznie jak dla innych komponentów działają:

setFont, setBackground, setForeground, setEnabled, setVisible

Kontener FlowLayout

Przykłady konstruktorów:

FlowLayout f1=new FlowLayout(); //konstruktor pusty

FlowLayout f1=new FlowLayout(FlowLayout.LEFT); //do której strony równać komponenty

//dodatkowo odstępy w poziomie i w pionie:

FlowLayout f1=new FlowLayout(FlowLayout.LEFT,6,9);

Oprócz FlowLayout.LEFT mamy strony:

FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING, FlowLayout.TRAILING

Działanie: komponenty będą tak długo ustawiane w jednej linii, aŜ zabraknie miejsca i szerokość okna wymusi przejście do następnej linii.

Kontener GridLayout

Przykłady konstruktorów:

GridLayout g1=new GridLayout(); //konstruktor pusty

GridLayout g1=new GridLayout(4,7); //4 rzędy, 7 kolumn

GridLayout g1=new GridLayout(4,7,6,9); //dodatkowo odstępy w poziomie i w pionie Działanie: okno jest dzielone na równe części, komponenty są dodawane do kolejnych części, nie trzeba podawać do których.

Kontener BorderLayout

Przykłady konstruktorów:

BorderLayout b1=new BorderLayout(); //konstruktor pusty

BorderLayout b1=new BorderLayout(6,9); //odstępy w poziomie i pionie Działanie: okno jest podzielone na 5 regionów. Przy dodawaniu kaŜdego komponentu trzeba podać teŜ, w jakim regionie ten komponent ma się znaleźć, np:

mgr Agnieszka Patyk, Wydział FTiMS, Politechnika Gdańska, 2007

...

add(new Button("North"), BorderLayout.NORTH);

add(new CheckBox("South",true), BorderLayout.SOUTH);

add(new Label("East"), BorderLayout.EAST);

add(new List(6), BorderLayout.WEST);

add(new Choice(), BorderLayout.CENTER);

...

Uwaga! Do jednego kontenera moŜna dodać drugi kontener (jako komponent) w celu lepszego rozmieszczenia komponentów na ekranie. MoŜliwa jest więc taka sytuacja:

...

GridLayout g_wewnetrzny_gorny = new GridLayout(3,4); //3 rzędy, 4 kolumny GridLayout g_zewnetrzny = new GridLayout(2,1); //2 rzędy, 1 kolumna

Panel p_gorny = new Panel();

Panel p_dolny = new Panel();

setLayout(g_zewnetrzny);

p_gorny.setLayout(g_wewnetrzny_gorny);

add(p_gorny);

add(p_dolny);

...

Efekt: zewnętrznym kontenerem jest g_zewnetrzny, a jego pierwszym komponentem jest p_gorny posiadający kontener g_wewnetrzny_gorny.