java - JComboBox Action

标签 java swing

有没有办法区分使用 setSelectedBound 值以编程方式更改的 JComboBox 索引和通过单击 JComboBox 更改的索引?

最佳答案

这很丑陋并且确实是一个hack,但是有效!

ActionEvent 包含一个字段修饰符,在本例中是鼠标按钮 ID。因此,使用它可以帮助您区分 setSelectedIndexsetSelectedValue 和鼠标点击(顺便说一句,setSelectedBoundValue 不是 JComboBox< 上的方法):

box.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getModifiers() != 0) {
            // ~ mouse button pressed ;)
        }
    }
});

关于java - JComboBox Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4436022/

相关文章:

java - 以编程方式添加后无法从 JPanel 中删除 JLabel

java swing setXXXSize() 替代方案?

java - 从 JPanel 附加到 Window 事件

java - Spring 批处理中的重写 Bean 问题

java - 签名的 Java 代码在 7.0 21 更新后不作为签名

java - 设置带有输入拆分的映射器的Hadoop数量不起作用

java - 我在空对象引用上出现以下错误 :android. os.Bundle android.content.Intent.getExtras()'

在我手动调整窗口大小之前,Java 窗口无法正确重绘

缺乏响应能力的 Java 鼠标监听器

java - 将现有键作为值添加到 java 属性文件中的新键