gpt4 book ai didi

Java 可编辑的 JCombobox Keylistener Enter 键事件

转载 作者:搜寻专家 更新时间:2023-10-31 08:15:23 25 4
gpt4 key购买 nike

我有可编辑的 JCombobox,我为组合框编辑器组件添加了 keylistener。当用户按下“Enter 键”并且可编辑组合框上没有文本时,我需要使用 JOptinoPane 显示消息框。我在 keyrelease 事件中完成了必要的代码,它按预期显示了消息。

问题是,当我们收到消息框并且如果用户在 JOptionPane 的“确定”按钮上按下回车键时,组合框编辑器键事件将再次触发。因此,当用户在消息框上按 Enter 键时,JoptionPane 会持续显示。

知道如何解决这个问题吗?

请注意,我不能为此使用 Action 监听器。

最佳答案

请检查此代码是否对您有帮助!!!

JFrame frame = new JFrame("Welcome!!");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JComboBox cmb = new JComboBox();
cmb.setEditable(true);
cmb.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {

@Override
public void keyReleased(KeyEvent event) {
if (event.getKeyChar() == KeyEvent.VK_ENTER) {
if (((JTextComponent) ((JComboBox) ((Component) event
.getSource()).getParent()).getEditor()
.getEditorComponent()).getText().isEmpty())
System.out.println("please dont make me blank");
}
}
});
frame.add(cmb);

frame.setLocationRelativeTo(null);
frame.setSize(300, 50);
frame.setVisible(true);

大多数人都因为这种类型转换而感到困难。

关于Java 可编辑的 JCombobox Keylistener Enter 键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14056301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com