Oscilación de Java | JComboBox con ejemplos

JComboBox es parte del paquete Java Swing. JComboBox hereda la clase JComponent. JComboBox muestra un menú emergente que muestra una lista y el usuario puede seleccionar una opción de esa lista especificada. JComboBox puede ser editable o de solo lectura según la elección del programador.
Los constructores de JComboBox son: 
 

  1. JComboBox() : crea un nuevo JComboBox vacío.
  2. JComboBox(ComboBoxModel M) : crea un nuevo JComboBox con elementos del ComboBoxModel especificado
  3. JComboBox(E [ ] i) : crea un nuevo JComboBox con elementos de la array especificada.
  4. JComboBox (elementos vectoriales) : crea un nuevo JComboBox con elementos del vector especificado

Los métodos comúnmente utilizados son: 
 

  1. addItem(E item) : agrega el elemento al JComboBox
  2. addItemListener( ItemListener l) : agrega un ItemListener a JComboBox
  3. getItemAt(int i) : devuelve el elemento en el índice i
  4. getItemCount() : devuelve el número de elementos de la lista
  5. getSelectedItem() : devuelve el elemento seleccionado
  6. removeItemAt(int i) : elimina el elemento en el índice i
  7. setEditable(booleano b) : el booleano b determina si el cuadro combinado es editable o no. Si se pasa verdadero, entonces el cuadro combinado es editable o viceversa.
  8. setSelectedIndex(int ​​i) : selecciona el elemento de JComboBox en el índice i.
  9. showPopup() :hace que el cuadro combinado muestre su ventana emergente.
  10. setUI(ComboBoxUI ui) : establece el objeto L&F que representa este componente.
  11. setSelectedItem(Object a) : establece el elemento seleccionado en el área de visualización del cuadro combinado en el objeto del argumento.
  12. setSelectedIndex(int ​​a) : selecciona el elemento en el índice anIndex.
  13. setPopupVisible(boolean v) : establece la visibilidad de la ventana emergente.
  14. setModel(ComboBoxModel a) : establece el modelo de datos que utiliza JComboBox para obtener la lista de elementos.
  15. setMaximumRowCount(int count) : establece el número máximo de filas que muestra JComboBox.
  16. setEnabled(booleano b) : habilita el cuadro combinado para que se puedan seleccionar elementos.
  17. removeItem(Object anObject) : elimina un elemento de la lista de elementos.
  18. removeAllItems() : elimina todos los elementos de la lista de elementos.
  19. removeActionListener(ActionListener l) : elimina un ActionListener.
  20. isPopupVisible() : determina la visibilidad de la ventana emergente.
  21. addPopupMenuListener(PopupMenuListener l) : agrega un detector PopupMenu que escuchará los mensajes de notificación de la parte emergente del cuadro combinado.
  22. getActionCommand() : devuelve el comando de acción que se incluye en el evento enviado a los oyentes de acción.
  23. getEditor() : devuelve el editor utilizado para pintar y editar el elemento seleccionado en el campo JComboBox.
  24. getItemCount() : devuelve el número de elementos de la lista.
  25. getItemListeners() : devuelve una array de todos los ItemListeners agregados a este JComboBox con addItemListener().
  26. createDefaultKeySelectionManager() : devuelve una instancia del administrador de selección de claves predeterminado.
  27. fireItemStateChanged(ItemEvent e) : notifica a todos los oyentes que han registrado interés para recibir notificaciones sobre este tipo de evento.
  28. firePopupMenuCanceled() : notifica a PopupMenuListeners que la parte emergente del cuadro combinado ha sido cancelada.
  29. firePopupMenuWillBecomeInvisible() : notifica a PopupMenuListeners que la parte emergente del cuadro combinado se ha vuelto invisible.
  30. firePopupMenuWillBecomeVisible() : notifica a PopupMenuListeners que la parte emergente del cuadro combinado se volverá visible.
  31. setEditor(ComboBoxEditor a) : establece el editor utilizado para pintar y editar el elemento seleccionado en el campo JComboBox.
  32. setActionCommand(String a) : establece el comando de acción que debe incluirse en el evento enviado a actionListeners.
  33. getUI() : devuelve el objeto de apariencia que representa este componente.
  34. paramString() : devuelve una representación de string de este JComboBox.
  35. getUIClassID() : devuelve el nombre de la clase Look and feel que representa este componente.
  36. getAccessibleContext() : obtiene el AccessibleContext asociado con este JComboBox

Los siguientes programas ilustrarán el uso de JComboBox
1. Programa para crear un JComboBox simple y agregarle elementos. 
 

Java

// Java Program to create a simple JComboBox
// and add elements to it
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ItemListener {
 
    // frame
    static JFrame f;
 
    // label
    static JLabel l, l1;
 
    // combobox
    static JComboBox c1;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // set layout of frame
        f.setLayout(new FlowLayout());
 
        // array of string containing cities
        String s1[] = { "Jalpaiguri", "Mumbai", "Noida", "Kolkata", "New Delhi" };
 
        // create checkbox
        c1 = new JComboBox(s1);
 
        // add ItemListener
        c1.addItemListener(s);
 
        // create labels
        l = new JLabel("select your city ");
        l1 = new JLabel("Jalpaiguri selected");
 
        // set color of text
        l.setForeground(Color.red);
        l1.setForeground(Color.blue);
 
        // create a new panel
        JPanel p = new JPanel();
 
        p.add(l);
 
        // add combobox to panel
        p.add(c1);
 
        p.add(l1);
 
        // add panel to frame
        f.add(p);
 
        // set the size of frame
        f.setSize(400, 300);
 
        f.show();
    }
    public void itemStateChanged(ItemEvent e)
    {
        // if the state combobox is changed
        if (e.getSource() == c1) {
 
            l1.setText(c1.getSelectedItem() + " selected");
        }
    }
}

Producción : 
 

2. Programa para crear dos casillas de verificación, una editable y otra de solo lectura 
 

Java

// Java Program to create two  checkbox
// one editable and other read only
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ItemListener {
 
    // frame
    static JFrame f;
 
    // label
    static JLabel l, l1, l3, l4;
 
    // combobox
    static JComboBox c1, c2;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve s = new solve();
 
        // array of string containing cities
        String s1[] = { "Jalpaiguri", "Mumbai", "Noida", "Kolkata", "New Delhi" };
        String s2[] = { "male", "female", "others" };
 
        // create checkbox
        c1 = new JComboBox(s1);
        c2 = new JComboBox(s2);
 
        // set Kolkata and male as selected items
        // using setSelectedIndex
        c1.setSelectedIndex(3);
        c2.setSelectedIndex(0);
 
        // add ItemListener
        c1.addItemListener(s);
        c2.addItemListener(s);
 
        // set the checkbox as editable
        c1.setEditable(true);
 
        // create labels
        l = new JLabel("select your city ");
        l1 = new JLabel("Jalpaiguri selected");
        l3 = new JLabel("select your gender ");
        l4 = new JLabel("Male selected");
 
        // set color of text
        l.setForeground(Color.red);
        l1.setForeground(Color.blue);
        l3.setForeground(Color.red);
        l4.setForeground(Color.blue);
 
        // create a new panel
        JPanel p = new JPanel();
 
        p.add(l);
 
        // add combobox to panel
        p.add(c1);
 
        p.add(l1);
 
        p.add(l3);
 
        // add combobox to panel
        p.add(c2);
 
        p.add(l4);
 
        // set a layout for panel
        p.setLayout(new FlowLayout());
 
        // add panel to frame
        f.add(p);
 
        // set the size of frame
        f.setSize(400, 400);
 
        f.show();
    }
    public void itemStateChanged(ItemEvent e)
    {
        // if the state combobox 1is changed
        if (e.getSource() == c1) {
 
            l1.setText(c1.getSelectedItem() + " selected");
        }
 
        // if state of combobox 2 is changed
        else
            l4.setText(c2.getSelectedItem() + " selected");
    }
}

Producción : 
 

3. Programa para crear una casilla de verificación y agregar o quitar elementos de ella. 
 

Java

// Java  Program to create a checkbox
// and add or remove items from it
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve11 extends JFrame implements ItemListener, ActionListener {
 
    // frame
    static JFrame f;
 
    // label
    static JLabel l, l1;
 
    // combobox
    static JComboBox c1;
 
    // textfield to add and delete items
    static JTextField tf;
 
    // main class
    public static void main(String[] args)
    {
        // create a new frame
        f = new JFrame("frame");
 
        // create a object
        solve11 s = new solve11();
 
        // set layout of frame
        f.setLayout(new FlowLayout());
 
        // array of string containing cities
        String s1[] = { "Jalpaiguri", "Mumbai", "Noida", "Kolkata", "New Delhi" };
 
        // create checkbox
        c1 = new JComboBox(s1);
 
        // create textfield
        tf = new JTextField(16);
 
        // create add and remove buttons
        JButton b = new JButton("ADD");
        JButton b1 = new JButton("REMOVE");
 
        // add action listener
        b.addActionListener(s);
        b1.addActionListener(s);
 
        // add ItemListener
        c1.addItemListener(s);
 
        // create labels
        l = new JLabel("select your city ");
        l1 = new JLabel("Jalpaiguri selected");
 
        // set color of text
        l.setForeground(Color.red);
        l1.setForeground(Color.blue);
 
        // create a new panel
        JPanel p = new JPanel();
 
        p.add(l);
 
        // add combobox to panel
        p.add(c1);
 
        p.add(l1);
        p.add(tf);
        p.add(b);
        p.add(b1);
 
        f.setLayout(new FlowLayout());
 
        // add panel to frame
        f.add(p);
 
        // set the size of frame
        f.setSize(700, 200);
 
        f.show();
    }
    // if button is pressed
    public void actionPerformed(ActionEvent e)
    {
        String s = e.getActionCommand();
        if (s.equals("ADD")) {
            c1.addItem(tf.getText());
        }
        else {
            c1.removeItem(tf.getText());
        }
    }
 
    public void itemStateChanged(ItemEvent e)
    {
        // if the state combobox is changed
        if (e.getSource() == c1) {
 
            l1.setText(c1.getSelectedItem() + " selected");
        }
    }
}

Producción : 
 

Nota: es posible que los programas anteriores no se ejecuten en un compilador en línea; use un IDE sin conexión
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *