java中如何将数据显示到jcombobox上?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何将数据显示到jcombobox上?相关的知识,希望对你有一定的参考价值。

在Java中,可以使用JComboBox组件来显示下拉列表,并在用户选择列表中的选项时触发事件。要在JComboBox中显示数据,可以使用以下方法之一:

    使用JComboBox的构造函数:

String[] data = "item1", "item2", "item3";
JComboBox comboBox = new JComboBox(data);

    使用JComboBox的setModel方法:

String[] data = "item1", "item2", "item3";
DefaultComboBoxModel model = new DefaultComboBoxModel(data);
JComboBox comboBox = new JComboBox();
comboBox.setModel(model);

    使用JComboBox的addItem方法:

JComboBox comboBox = new JComboBox();
comboBox.addItem("item1");
comboBox.addItem("item2");
comboBox.addItem("item3");

注意,上述示例假设您已经创建了一个JComboBox实例,并且已经定义了一个名为“data”的字符串数组。您可以使用这些方法之一来显示您的数据,并在需要时使用JComboBox的其他方法来访问和操作下拉列表中的选项。

如果您希望在JComboBox中显示的是对象而不是字符串,则可以使用自定义的ListModel来实现。例如,可以实现AbstractListModel并重写getElementAt和getSize方法,将JComboBox的model设置为自定义的ListModel即可。

最后,请注意,如果您希望在JComboBox中显示大量数据,可能需要使用其他组件,例如JList

参考技术A

在 Java 中,如果要将数据显示到 JComboBox 上,可以使用以下方法之一:

    使用 addItem() 方法将每个项目单独添加到 JComboBox 中。例如:


    JComboBox<String> comboBox = new JComboBox<>();
    comboBox.addItem("Item 1");
    comboBox.addItem("Item 2");
    comboBox.addItem("Item 3");

    使用 setModel() 方法将一个 DefaultComboBoxModel 对象设置为 JComboBox 的模型。例如:


    String[] data = "Item 1", "Item 2", "Item 3";
    DefaultComboBoxModel<String> model = new DefaultComboBoxModel<>(data);
    JComboBox<String> comboBox = new JComboBox<>(model);

    使用 setModel() 方法将一个自定义的 ComboBoxModel 对象设置为 JComboBox 的模型。例如:


    MyComboBoxModel model = new MyComboBoxModel();
    JComboBox<String> comboBox = new JComboBox<>(model);

    其中,MyComboBoxModel 是你自己定义的 ComboBoxModel 的子类,需要实现 ComboBoxModel 接口中的方法。

    希望这对您有帮助。

参考技术B * JComboBox() 建立一个JComboBox组件.
* JComboBox(ComboBoxModel model) 根据model建立一个JComboBox组件.
* JComboBox(Objext[] items) 利用数组对象建立一个JComboBox组件.
* JComboBox(Vector items) 利用Vector对象建立一个JComboBox组件.

从数据库动态添加 jcombobox 中的值

【中文标题】从数据库动态添加 jcombobox 中的值【英文标题】:adding values in jcombobox dynamically from database 【发布时间】:2014-02-23 04:20:17 【问题描述】:

我有 3 个单选按钮。如果选择按钮 1,那么我只想显示数据库中的 2 个值,如果我选择其他 2 个,那么我想显示 5 个值。我将通过为单选按钮生成一个事件方法来做到这一点。问题是从数据库中选择值并将其添加到组合框中。我正在为数据库使用 xampp。 谢谢

【问题讨论】:

【参考方案1】:

要修改 UI 组件,请使用 UIThreads EventQueue.invokeLater 或 SwingUtilities.invokeLater。 看看这个示例代码:

SwingUtilities.invokeLater(new Runnable() 

        @Override
        public void run() 
            try 
                Socket socket = new Socket("127.0.0.1", 6677);

                ObjectOutputStream out = new ObjectOutputStream(socket.getOutputStream());
                ObjectInputStream in = new ObjectInputStream(socket.getInputStream());

                out.writeObject(some_data_for_send_to_server_socket);
                out.flush();

                ArrayList<String> data =(ArrayList<String>)in.readObject();
                if (!data.isEmpty())
                    for(String s:data)
                        yourComboBox.addItem(s);
                    
                

             catch (Exception e) 
                e.printStackTrace();
            
        
    );

【讨论】:

以上是关于java中如何将数据显示到jcombobox上?的主要内容,如果未能解决你的问题,请参考以下文章

在 jComboBox 中显示数据

如何将选定的 JComboBox 数据项提取到 Swing 文本字段中?

Java - 如何使非字符串对象的 JComboBox 显示字符串名称?

java中JComboBox中的数据如何从数据库中取得

如何在 mysql 中选择多个相同数据之一并在 jComboBox java 中查看?

如何将 JComboBox 事件处理程序的字符串放入变量中进行查询?