Java - JComboBox


Objekt klase Choice se koristi za prikaz popup menija izbora. Izbor koji je odabrao korisnik prikazan je na vrhu menija. Nasljeđuje JComponent klasa. Pogledajmo deklaraciju za klasu javax.swing.JComboBox:

public class JComboBox extends JComponent implements ItemSelectable, ListDataListener, ActionListener, Accessible  


Najčešće korišteni konstruktori:

Konstruktor Opis
JComboBox() Kreira JComboBox sa zadanim modelom podataka.
JComboBox(Object[] items) Kreira JComboBox koji sadrži elemente u navedenom nizu.
JComboBox(Vector<?> items) Kreira JComboBox koji sadrži elemente u navedenom Vectoru.


Najčešće korištene metode

Metoda Opis
void addItem(Object anObject) Koristi se za dodavanje stavke na listu stavki.
void removeItem(Object anObject) Koristi se za brisanje stavke sa liste stavki.
void removeAllItems() Koristi se za uklanjanje svih stavki sa liste.
void setEditable(boolean b) Koristi se za određivanje da li se JComboBox može uređivati.
void addActionListener(ActionListener a) Koristi se za dodavanje ActionListener-a.
void addItemListener(ItemListener i) Koristi se za dodavanje ItemListener-a


Primjer Java JComboBox

import javax.swing.*;    
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class Main {    
JFrame f;    
    Main(){    
        f=new JFrame("Primjer ComboBox");    
        String country[]={"Banja Luka","Beograd","Sarajevo","Zagreb","Ljubljana"};
        
        JComboBox cb=new JComboBox(country);    
        cb.setBounds(50, 50,90,20);    
        
        f.add(cb);        
        f.setLayout(null);    
        f.setSize(400,300);    
        f.setVisible(true);   
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
    }    
    public static void main(String[] args) {    
        new Main();         
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako:



Primjer Java JComboBox sa ActionListener

import javax.swing.*;    
import java.awt.event.*; 
import static javax.swing.WindowConstants.EXIT_ON_CLOSE;

public class Main {    
JFrame f;    
    Main(){    
        f=new JFrame("Primjer ComboBox");   
        final JLabel label = new JLabel();      
        
        label.setHorizontalAlignment(JLabel.CENTER);  
        label.setSize(400,100);  
        
        JButton b=new JButton("Prikaži");  
        b.setBounds(200,100,75,20);  
        String languages[]={"C","C++","C#","Java","PHP"};        
        final JComboBox cb=new JComboBox(languages);    
        cb.setBounds(50, 100,90,20);    
        
        f.add(cb); f.add(label); f.add(b);    
        f.setLayout(null);    
        f.setSize(350,350);    
        f.setVisible(true);   
        f.setDefaultCloseOperation(EXIT_ON_CLOSE);
        
        b.addActionListener(new ActionListener() {  
            public void actionPerformed(ActionEvent e) {       
                String data = "Odabrani programski jezik je: "   
                   + cb.getItemAt(cb.getSelectedIndex());  
                label.setText(data);  
            }  
        });           
    }    
    public static void main(String[] args) {    
        new Main();         
    }    
}

Prikaz koda iz gornjeg primjera izgledaće ovako: