Как распечатать все элементы в JComboBox?

Мне интересно, как распечатать ВСЕ элементы в JComboBox. Я понятия не имею, как это сделать. Я знаю, как распечатать любой выбранный элемент. Мне просто нужно, чтобы при нажатии кнопки он распечатывал все параметры в JComboBox.


person user1927670    schedule 25.12.2012    source источник
comment
Показали бы нам что-нибудь о вашем предмете, что это такое и как вы им манипулируете... Было бы лучше   -  person Parth Soni    schedule 25.12.2012
comment
Просто получите его модель через getModel(), а затем повторите модель, используя методы, доступные из интерфейса javax.swing.ListModel, которые модель должна реализовать.   -  person Hovercraft Full Of Eels    schedule 25.12.2012


Ответы (2)


Я знаю, что это старый вопрос, но мне было проще пропустить ComboBoxModel.

String items = new String[]{"Rock", "Paper", "Scissors"};
JComboBox<String> comboBox = new JComboBox<>(items);

int size = comboBox.getItemCount();
for (int i = 0; i < size; i++) {
  String item = comboBox.getItemAt(i);
  System.out.println("Item at " + i + " = " + item);
}
person Vimm    schedule 23.11.2016

Проверь это

public class GUI extends JFrame {

    private JButton submitButton;
    private JComboBox comboBox;

    public GUI() {
        super("List");
    }

    public void createAndShowGUI() {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLayout(new FlowLayout());
        submitButton = new JButton("Ok");
        Object[] valueA  = new Object[] {
            "StackOverflow","StackExcange","SuperUser"
        };
        comboBox = new JComboBox(valueA);

        add(comboBox);
        add(submitButton);
        submitButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                ComboBoxModel model = comboBox.getModel();
                int size = model.getSize();
                for(int i=0;i<size;i++) {
                    Object element = model.getElementAt(i);
                    System.out.println("Element at " + i + " = " + element);
                }
            }
        });
        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                GUI gui = new GUI();
                gui.createAndShowGUI();
            }
        });
    }
}
person vels4j    schedule 25.12.2012