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
.
mgr Agnieszka Patyk, Wydział FTiMS, Politechnika Gdańska, 2007