gpt4 book ai didi

Java 可编辑 JCombobox Enter 键的 Keylistener 事件

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:12 24 4
gpt4 key购买 nike

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

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

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

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

最佳答案

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

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 Enter 键的 Keylistener 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53714169/

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