rozmieszczenie kontrolek Swing

Transkrypt

rozmieszczenie kontrolek Swing
Java:
rozmieszczenie kontrolek Swing
Programowanie w językach wysokiego poziomu
mgr inż. Anna Wawszczak
czwartek, 27 maja 2010
PLAN WYKŁADU
• Kontrolka
• Grupy
ComboBox
kontrolek - RadioButton’y
• Rozmieszczenie
czwartek, 27 maja 2010
kontrolek
COMBOBOX
•
ComboBox to kontrolka umożliwiająca wybór pozycji z listy rozwijalnej.
•
Do kontrolki ComboBox należy dodać poszczególne elementy. mogą
to być elementy typu String lub dowolnej innej klasy udostępniającej
metodę toString()
class MojComboItem{
!
int numer;
!
}
MojComboItem(int i){ numer=i; }
JComboBox combo = new JComboBox();
combo.addItem(new MojComboItem(1) { public String toString() { return "Słoneczko"; } });
combo.addItem(new MojComboItem(2) { public String toString() { return "Chmurka"; } });
combo.addItem(new MojComboItem(3) { public String toString() { return "Trawka"; } });
czwartek, 27 maja 2010
COMBOBOX
obsługa zdarzeń
combo.addActionListener(new ActionListener() {!
! public void actionPerformed(ActionEvent e) {
! ! JComboBox cb = (JComboBox)e.getSource();
! ! MojComboItem item = (MojComboItem)cb.getSelectedItem();
! ! switch (item.numer){
! ! ! case 1: /* ... */ break;
! ! ! case 2: /* ... */ break;
! ! ! case 3: /* ... */;
! ! }!
! }
});
• Obiekt klasy ActionEvent przyjmowany jako parametr w metodzie actionPerformed pozwala na odczyt
•
źródła generującego zdarzenie za pomocą metody getSource().
Metoda getSelectedItem klasy JComboBox pozwala na pobranie obiektu wybranego z combobox’a.
czwartek, 27 maja 2010
RADIOBUTTON’Y
•
Grupa przycisków RadioButton pozwala na wybranie jednej opcji spośród wielu.
Zaznaczenie jednego Radiobutton’a należącego do grupy powoduje odznaczenie
innych.
•
Aby zgrupować Radiobuttony należy dodać je do grupy przycisków (ButtonGroup).
•
Odczyt stanu przycisku wykonywany jest za pomocą metody isSelected().
JRadioButton rb1 = new JRadioButton("Ala ma kotka");
JRadioButton rb2 = new JRadioButton("Ala ma pieska");
panel.add(rb1);! panel.add(rb2);
ButtonGroup bg = new ButtonGroup();
bg.add(rb1); bg.add(rb2);
boolean rb1_selected = rb1.isSelected();
boolean rb2_selected = rb2.isSelected();
czwartek, 27 maja 2010
ROZMIESZCZANIE
ELEMENTÓW W PANELU
Jednym ze sposobów rozmieszczania elementów w okienku jest ustawienie
właściwości Layout panela na null oraz bezpośrednie ustawianie położenia
poszczególnych elementów.
panel.setLayout(null);
JButton p1 = new JButton("Lewy górny");
JButton p2 = new JButton("Prawy górny");
JButton p3 = new JButton("Prawy dolny");
JButton p4 = new JButton("Lewy dolny");
panel.add(p1); panel.add(p2);
panel.add(p3); panel.add(p4);
p1.setBounds(0,0,100,100);
p2.setBounds(200, 0, 100, 100);
p3.setBounds(200, 200, 100, 100);
p4.setBounds(0, 200, 100, 100);
czwartek, 27 maja 2010
ROZMIESZCZENIE KOMPONENTÓW
dodatkowe panele
•
Inną metodą rozmieszczenia elementów jest dodanie kilku paneli,
odpowiednie rozmieszczenie ich i umieszczanie komponentów wewnątrz
tych paneli.
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
powZawartosci.add(panel1);
powZawartosci.add(panel2);
panel1.setBounds(10, 10, 200, 300);
panel2.setBounds(220, 10, 200, 200);
panel1.setBorder(BorderFactory.createTitledBorder("Panel1"));!
panel2.setBorder(BorderFactory.createTitledBorder("Panel2"));
panel1.add( new JButton("Przycisk1") ); panel2.add( new JButton("Przycisk2") );
czwartek, 27 maja 2010

Podobne dokumenty