有没有办法区分使用 setSelectedBound 值以编程方式更改的 JComboBox 索引和通过单击 JComboBox 更改的索引?
最佳答案
这很丑陋并且确实是一个hack,但是有效!
ActionEvent
包含一个字段修饰符,在本例中是鼠标按钮 ID。因此,使用它可以帮助您区分 setSelectedIndex
或 setSelectedValue
和鼠标点击(顺便说一句,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/