java - 使用 Swing 从监听器添加组合框值

标签 java swing jcombobox

我是 Swing 新手。我有一个要求,我需要从数据库获取数据并在组合框中弹出,当组合框监听器执行时,它需要加载值。我不确定我哪里出错了,下面代码中的值没有显示。 如果我错了,有人可以纠正我吗? 代码:

import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;

public class ComboBoxSelectionChange extends JFrame
{
    public ComboBoxSelectionChange ()
    {
        initialize();
    }

    private void initialize ()
    {
        setSize(300, 300);
        setLayout(new FlowLayout(FlowLayout.LEFT));
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        final JComboBox comboBox = new JComboBox();
        comboBox.setEditable(true);
        final JTextArea textArea = new JTextArea(5, 15);
        textArea.setBorder(new BevelBorder(BevelBorder.LOWERED));

        comboBox.addItemListener(new ItemListener() {

            public void itemStateChanged (ItemEvent event)
            {
                String[] items = { "A", "B", "C", "D", "E", "F" };
                final DefaultComboBoxModel model = new DefaultComboBoxModel(
                        items);

                comboBox.setModel(model);

            }
        });

        getContentPane().add(comboBox);
        getContentPane().add(textArea);
    }

    public static void main (String[] args)
    {
        SwingUtilities.invokeLater(new Runnable() {
            public void run ()
            {
                new ComboBoxSelectionChange().setVisible(true);
            }
        });
    }
}

最佳答案

尝试向 JComboBox 添加弹出菜单监听器,如下所示:

comboBox.addPopupMenuListener( PopupMenuListener listener )
{

   protected void popupMenuWillBecomeVisible( PopupMenuEvent event )
   {
       //update your model
   }

}

关于java - 使用 Swing 从监听器添加组合框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26383012/

相关文章:

java - JLS 的哪些部分证明能够像未经检查一样抛出已检查异常?

java - 从 JavaBeans 更改为 Builder 模式

java - 如何将 jtextfield 中的项目添加到 jcombobox?

java - 改变 JCombobox 的高度

java - 当entitymanager处理记录时,记录是否被锁定?

java - 如何验证::after伪元素是否存在于selenium中

java - 在不丢失同步的情况下加载 JTable

java - 为什么当我按下退出键时框架没有关闭?

JScrollPane 中的 Java JPanel?

java - 使用许多条目提高 JCombobox 的性能