【问题标题】:How do I print all the items within a JComboBox?如何打印 JComboBox 中的所有项目?
【发布时间】:2012-12-11 06:22:28
【问题描述】:

我想知道如何打印出 JComboBox 中的所有项目。我不知道该怎么做。我知道如何打印选择的任何项目。我只需要它在我按下按钮时打印出 JComboBox 中的每个选项。

【问题讨论】:

  • 会向我们展示一些关于您的物品、它们是什么以及您如何操作它们的信息...这样会更好
  • 只需通过getModel() 获取其模型,然后使用模型必须实现的javax.swing.ListModel 接口中可用的方法遍历模型。

标签: java swing jcombobox comboboxmodel


【解决方案1】:

我知道这是一个老问题,但我发现跳过 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);
}

【讨论】:

    【解决方案2】:

    检查一下

    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();
                }
            });
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 2015-09-04
      相关资源
      最近更新 更多