Рубрики

Java Swing | JComboBox с примерами

JComboBox является частью пакета Java Swing. JComboBox наследует класс JComponent. JComboBox показывает всплывающее меню со списком, и пользователь может выбрать опцию из указанного списка. JComboBox может быть редактируемым или только для чтения, в зависимости от выбора программиста.

Конструктором JComboBox являются:

  1. JComboBox () : создает новый пустой JComboBox.
  2. JComboBox (ComboBoxModel M) : создает новый JComboBox с элементами из указанной ComboBoxModel
  3. JComboBox (E [] i) : создает новый JComboBox с элементами из указанного массива.
  4. JComboBox (Vector items) : создает новый JComboBox с элементами из указанного вектора

Обычно используемые методы:

  1. addItem (E item) : добавляет элемент в JComboBox
  2. addItemListener (ItemListener l) : добавляет ItemListener в JComboBox
  3. getItemAt (int i) : возвращает элемент по индексу i
  4. getItemCount () : возвращает количество элементов из списка
  5. getSelectedItem () : возвращает элемент, который выбран
  6. removeItemAt (int i) : удаляет элемент с индексом i
  7. setEditable (логическое значение b) : логическое значение b определяет, является ли поле со списком редактируемым или нет. Если значение true, то поле со списком можно редактировать или наоборот.
  8. setSelectedIndex (int i) : выбирает элемент JComboBox по индексу i.
  9. showPopup () : заставляет поле со списком отображать свое всплывающее окно.
  10. setUI (ComboBoxUI ui) : устанавливает объект L & F, который визуализирует этот компонент.
  11. setSelectedItem (Object a) : устанавливает выбранный элемент в области отображения поля со списком для объекта в аргументе.
  12. setSelectedIndex (int a) : выбирает элемент с индексом anIndex.
  13. setPopupVisible (boolean v) : устанавливает видимость всплывающего окна.
  14. setModel (ComboBoxModel a) : устанавливает модель данных, которую JComboBox использует для получения списка элементов.
  15. setMaximumRowCount (int count) : устанавливает максимальное количество строк, отображаемых JComboBox.
  16. setEnabled (логическое значение b) : включает поле со списком, чтобы можно было выбирать элементы.
  17. removeItem (Object anObject) : удаляет элемент из списка элементов.
  18. removeAllItems () : удаляет все элементы из списка элементов.
  19. removeActionListener (ActionListener l) : удаляет ActionListener.
  20. isPopupVisible () : определяет видимость всплывающего окна.
  21. addPopupMenuListener (PopupMenuListener l) : добавляет прослушиватель PopupMenu, который будет прослушивать уведомления из всплывающей части поля со списком.
  22. getActionCommand () : возвращает команду действия, включенную в событие, отправленное слушателям действия.
  23. getEditor () : возвращает редактор, используемый для рисования и редактирования выбранного элемента в поле JComboBox.
  24. getItemCount () : возвращает количество элементов в списке.
  25. getItemListeners () : возвращает массив всех ItemListeners, добавленных в этот JComboBox с помощью addItemListener ().
  26. createDefaultKeySelectionManager () : возвращает экземпляр диспетчера выбора ключей по умолчанию.
  27. fireItemStateChanged (ItemEvent e) : уведомляет всех слушателей, которые зарегистрировали интерес, для уведомления об этом типе события.
  28. firePopupMenuCanceled () : уведомляет PopupMenuListeners, что всплывающая часть поля со списком была отменена.
  29. firePopupMenuWillBecomeInvisible () : уведомляет PopupMenuListeners о том, что всплывающая часть поля со списком стала невидимой.
  30. firePopupMenuWillBecomeVisible () : уведомляет PopupMenuListeners о том, что всплывающая часть поля со списком станет видимой.
  31. setEditor (ComboBoxEditor a) : устанавливает редактор, используемый для рисования и редактирования выбранного элемента в поле JComboBox.
  32. setActionCommand (String a) : устанавливает команду действия, которая должна быть включена в событие, отправляемое в actionListeners.
  33. getUI () : возвращает объект внешнего вида, который визуализирует этот компонент.
  34. paramString () : возвращает строковое представление этого JComboBox.
  35. getUIClassID () : возвращает имя класса Look and feel, который отображает этот компонент.
  36. getAccessibleContext () : получает AccessibleContext, связанный с этим JComboBox

Следующие программы иллюстрируют использование JComboBox

1. Программа для создания простого JComboBox и добавления элементов к нему.

// Java-программа для создания простого JComboBox
// и добавляем к нему элементы

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

class solve extends JFrame implements ItemListener {

  

    // Рамка

    static JFrame f;

  

    // метка

    static JLabel l, l1;

  

    // поле со списком

    static JComboBox c1;

  

    // основной класс

    public static void main(String[] args)

    {

        // создаем новый фрейм

        f = new JFrame("frame");

  

        // создаем объект

        solve s = new solve();

  

        // установить макет кадра

        f.setLayout(new FlowLayout());

  

        // массив городов, связывающих строки

        String s1[] = { "Jalpaiguri", "Mumbai", "Noida", "Kolkata", "New Delhi" };

  

        // создать флажок

        c1 = new JComboBox(s1);

  

        // добавляем ItemListener

        c1.addItemListener(s);

  

        // создаем ярлыки

        l = new JLabel("select your city ");

        l1 = new JLabel("Jalpaiguri selected");

  

        // установить цвет текста

        l.setForeground(Color.red);

        l1.setForeground(Color.blue);

  

        // создать новую панель

        JPanel p = new JPanel();

  

        p.add(l);

  

        // добавить комбинированный список на панель

        p.add(c1);

  

        p.add(l1);

  

        // добавить панель в рамку

        f.add(p);

  

        // установить размер кадра

        f.setSize(400, 300);

  

        f.show();

    }

    public void itemStateChanged(ItemEvent e)

    {

        // если поле со списком изменено

        if (e.getSource() == c1) {

  

            l1.setText(c1.getSelectedItem() + " selected");

        }

    }

}

Выход :


2. Программа для создания двух флажков один редактируемый и другой только для чтения

// Java-программа для создания двух флажков
// один редактируемый, а другой только для чтения

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

class solve extends JFrame implements ItemListener {

  

    // Рамка

    static JFrame f;

  

    // метка

    static JLabel l, l1, l3, l4;

  

    // поле со списком

    static JComboBox c1, c2;

  

    // основной класс

    public static void main(String[] args)

    {

        // создаем новый фрейм

        f = new JFrame("frame");

  

        // создаем объект

        solve s = new solve();

  

        // массив городов, связывающих строки

        String s1[] = { "Jalpaiguri", "Mumbai", "Noida", "Kolkata", "New Delhi" };

        String s2[] = { "male", "female", "others" };

  

        // создать флажок

        c1 = new JComboBox(s1);

        c2 = new JComboBox(s2);

  

        // установить Колаката и самца в качестве выбранных предметов

        // используя setSelectedIndex

        c1.setSelectedIndex(3);

        c2.setSelectedIndex(0);

  

        // добавляем ItemListener

        c1.addItemListener(s);

        c2.addItemListener(s);

  

        // установить флажок как редактируемый

        c1.setEditable(true);

  

        // создаем ярлыки

        l = new JLabel("select your city ");

        l1 = new JLabel("Jalpaiguri selected");

        l3 = new JLabel("select your gender ");

        l4 = new JLabel("Male selected");

  

        // установить цвет текста

        l.setForeground(Color.red);

        l1.setForeground(Color.blue);

        l3.setForeground(Color.red);

        l4.setForeground(Color.blue);

  

        // создать новую панель

        JPanel p = new JPanel();

  

        p.add(l);

  

        // добавить комбинированный список на панель

        p.add(c1);

  

        p.add(l1);

  

        p.add(l3);

  

        // добавить комбинированный список на панель

        p.add(c2);

  

        p.add(l4);

  

        // установить макет для панели

        p.setLayout(new FlowLayout());

  

        // добавить панель в рамку

        f.add(p);

  

        // установить размер кадра

        f.setSize(400, 400);

  

        f.show();

    }

    public void itemStateChanged(ItemEvent e)

    {

        // если состояние выпадающего списка 1 изменилось

        if (e.getSource() == c1) {

  

            l1.setText(c1.getSelectedItem() + " selected");

        }

  

        // если состояние combobox 2 изменилось

        else

            l4.setText(c2.getSelectedItem() + " selected");

    }

}

Выход :


3. Программа для создания флажка и добавления или удаления элементов из него.

// Java-программа для создания флажка
// и добавляем или удаляем элементы из него

import java.awt.event.*;

import java.awt.*;

import javax.swing.*;

class solve11 extends JFrame implements ItemListener, ActionListener {

  

    // Рамка

    static JFrame f;

  

    // метка

    static JLabel l, l1;

  

    // поле со списком

    static JComboBox c1;

  

    // текстовое поле для добавления и удаления элементов

    static JTextField tf;

  

    // основной класс

    public static void main(String[] args)

    {

        // создаем новый фрейм

        f = new JFrame("frame");

  

        // создаем объект

        solve11 s = new solve11();

  

        // установить макет кадра

        f.setLayout(new FlowLayout());

  

        // массив городов, связывающих строки

        String s1[] = { "Jalpaiguri", "Mumbai", "Noida", "Kolkata", "New Delhi" };

  

        // создать флажок

        c1 = new JComboBox(s1);

  

        // создать текстовое поле

        tf = new JTextField(16);

  

        // создаем кнопки добавления и удаления

        JButton b = new JButton("ADD");

        JButton b1 = new JButton("REMOVE");

  

        // добавить слушатель действия

        b.addActionListener(s);

        b1.addActionListener(s);

  

        // добавляем ItemListener

        c1.addItemListener(s);

  

        // создаем ярлыки

        l = new JLabel("select your city ");

        l1 = new JLabel("Jalpaiguri selected");

  

        // установить цвет текста

        l.setForeground(Color.red);

        l1.setForeground(Color.blue);

  

        // создать новую панель

        JPanel p = new JPanel();

  

        p.add(l);

  

        // добавить комбинированный список на панель

        p.add(c1);

  

        p.add(l1);

        p.add(tf);

        p.add(b);

        p.add(b1);

  

        f.setLayout(new FlowLayout());

  

        // добавить панель в рамку

        f.add(p);

  

        // установить размер кадра

        f.setSize(700, 200);

  

        f.show();

    }

    // если кнопка нажата

    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 (e.getSource() == c1) {

  

            l1.setText(c1.getSelectedItem() + " selected");

        }

    }

}

Выход :


Примечание: вышеуказанные программы могут не работать в онлайн-компиляторе, используйте автономную среду разработки

Рекомендуемые посты:

Java Swing | JComboBox с примерами

0.00 (0%) 0 votes