Java - Grafické komponenty (51.díl)

Napsal O webu (») 3. 8. 2008 v kategorii Programování, přečteno: 3942×
obrazky/java_logo.png

JComboBox

Komponenta JComboBox představuje rozbalovací seznam. Seznam je tvořen jednotlivými položkami setříděných podle předem známého klíče. Viditelná je pouze jedna řádka, po kliknutí na šipku se seznam rozbalí a umožní zvolit kliknutím některou z položek seznamu. Použití je podobné jako v případě radio buttonů, komponenta je vhodná pro výběr z většího množství variant. V takovém případě při použití radio buttonů vznikají okna příliš velkých rozměrů, na které se pak již nevejdou další komponenty. Combo boxy mohou mít poměrně odlišný vzhled i způsob práce s nimi. Jejich položky mohou být editovatelné popř. lze položky přidávat i za běhu programu. My se budeme zabývat nejběžnější variantou-needitovatelnými combo boxy. Položky combo boxu jsou číslovány, lze k nimi přistupovat za použití indexu; první položka má index 0.
Metoda Popis
addItem(Object o) Přidání položky do seznamu na poslední pozici.
insertItem(Object o, int position) Přidání položky do seznamu na uvedenou pozici.
getItem() Získání položky na požadované pozici.
getSelectedItem() Získání označené položky.
removeAllItems() Odstranění všech položek seznamu.
removeItemAt(int position) Odstranění požadované položky seznamu.
getItemCount() Počet položek seznamu.
getSelectedIndex() Index označené položky.
setSelectedIndex() Označení požadované položky seznamu.
setEditable(boolean b) Nastavení, zda položky combo boxu mohou být editovatelné.


Třída má k dispozici několik konstruktorů
JComboBox();
JComboBox(Object o);
JComboBox(BVector v);

První konstruktor vytvoří prázdný combo box, druhý naplněný položkami představovanými objekty třídy Object, třetí naplněný položkami z dynamické datové struktury vector. Přehled často používaných metod komponenty JcomboBox. Při práci s combo boxem je nejčastěji používáno rozhran ActionListener. Metoda actionPerformed() je vyvolána v okamžiku, kdy uživatel zvolí některou z položek combo boxu nebo po editaci některé položky stiskne klávesu Enter. Upravíme příklad pracující s radio buttony, místo radiobuttonu použijeme combo box. Ukázka zdrojového kódu.
public class Comboboxy extends JFrame
{
private JLabel l;
private JComboBox c;
public Comboboxy(int vyska, int sirka) {
this.setSize(vyska, sirka);
this.setTitle("ComboBox");
c=new JComboBox();
c.addItem("Prvni");
c.addItem("Druhy");
c.addItem("Treti");
l=new JLabel();
this.getContentPane().add(c);
this.getContentPane().add(l);
this.setLayout(new FlowLayout());
c.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cVyber(e);
}
});
this.setVisible(true);
}
public void cVyber(ActionEvent e)
{
l.setText(c.getSelectedItem().toString());
}
}


Autor: Filip Koval
Štítky: Java
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel tři a třináct