猿问

JCombobox 无法将多个选项重命名为相同的值

我正在尝试将多个选项重命名为相同的值。如果已经有一个选项具有我正在尝试将另一个重命名为的值,则什么也不会发生。


这是我当前的代码:


package main.cache;


import java.awt.EventQueue;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;


import javax.swing.DefaultComboBoxModel;

import javax.swing.JComboBox;

import javax.swing.JFrame;


public class ComboBox {


    private JFrame frame;


    /**

     * Launch the application.

     */

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {

            public void run() {

                try {

                    ComboBox window = new ComboBox();

                    window.frame.setVisible(true);

                } catch (Exception e) {

                    e.printStackTrace();

                }

            }

        });

    }


    /**

     * Create the application.

     */

    public ComboBox() {

        initialize();

    }


    /**

     * Initialize the contents of the frame.

     */

    private void initialize() {

        frame = new JFrame();

        frame.setBounds(100, 100, 450, 300);

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        frame.getContentPane().setLayout(null);


        String[] values = new String[] { "null", "null", "parameter3" };


        final DefaultComboBoxModel<Object> models = new DefaultComboBoxModel<Object>(values);

        JComboBox<Object> comboBox = new JComboBox<Object>(models);

        comboBox.setBounds(130, 82, 168, 40);

        frame.getContentPane().add(comboBox);



例如在这里,我有 3 个选项“null”、“null”、“parameter3”。假设我也想将第二个选项编辑为 parameter3。目前,没有任何反应。


烙印99
浏览 122回答 1
1回答

翻阅古今

出现此问题是因为 JComboBox 选择了第一次出现的字符串。因此,唯一的解决方案是使用一个名为 Element 的自定义类并覆盖 toString,然后不向 JComboBox 添加原始字符串,而是添加元素。
随时随地看视频慕课网APP

相关分类

Java
我要回答