background image

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 

background image

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 

background image

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 

background image

 

... 
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