java - KeyListener如何重新激活组件?

标签 java keylistener

我想在文本字段内按下某些内容时停用组件,并在删除其中的所有内容并使其变为空时重新激活它们。但这似乎不起作用:

idTF.addKeyListener(new KeyAdapter() {
    public void keyTyped(KeyEvent e) {    
        char ch = e.getKeyChar();

        if (Character.charCount(ch)>0) {
            searchF.setEditable(false);
            rangeTF1.setEditable(false);
            rangeTF2.setEditable(false);
            ageTF.setEditable(false);
            addressTF.setEditable(false);
            crimebox.setEditable(false);
            countrybox.setEditable(false);
            genderbox.setEditable(false);
        } else if (Character.charCount(ch)==0) {
            searchF.setEditable(true);
            rangeTF1.setEditable(true);
            rangeTF2.setEditable(true);
            ageTF.setEditable(true);
            addressTF.setEditable(true);
            crimebox.setEditable(true);
            countrybox.setEditable(true);
            genderbox.setEditable(true);            
        }
    }
});

最佳答案

您可以拥有DocumentListener :

DocumentListener documentListener = new DocumentListener() { 
    @Override
    public void changedUpdate(DocumentEvent arg0) {
     enableOrDisable(arg0);
    }
    @Override
    public void insertUpdate(DocumentEvent arg0) {
        enableOrDisable(arg0);
    }
    @Override
    public void removeUpdate(DocumentEvent arg0) {
        enableOrDisable(arg0);
    }   

    private void enableOrDisable(arg0);(DocumentEvent arg0) {
        //Code to enable/disable button
    }
};

并将此监听器添加到您想要的字段:

myComponent.getDocument().addDocumentListener(documentListener);

关于java - KeyListener如何重新激活组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19655303/

相关文章:

java - 如何在列表中获取唯一值

java - 如何根据索引位置从模型列表中检索数据并将其存储在textview中

java - 配置 IntelliJ 以使用 Groovy 编译器而不是 Java 编译器

java - 无法解析 grails 2.3.7 中的 :spring-securty-core:2. 0-RC2

java - 为什么 Locale(String) 构造函数在 Java 中不能正常工作?

java - 一旦达到某个障碍,如何停止动画?

java - 在 java 中编写 unicode (Sindhi) 的 keyListener 实现问题

KeyListener 中的 Java 字符串比较失败

java - KeyListener 未检测到按键

java - 将 KeyListener 添加到 Jframe 问题