Question

i am trying to trigger key released event in java swing.

txtEmailId.addKeyListener(new KeyAdapter() {
            // override keyReleased listener on the Email TextField
            @Override
            public void keyReleased(KeyEvent e) {

                                System.out.println("ok");
            }
        });

above code running successfully now i want to call this keyReleased event after txtEmailId.setText("hello"); manually how it is possible?

Was it helpful?

Solution

Instead of KeyAdapter use DocumentListener. Try next example:

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.BadLocationException;

public class TestFrame extends JFrame{

    public TestFrame(){
        init();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        pack();
        setVisible(true);
    }

    private void init() {
        JTextField f = new JTextField();
        f.getDocument().addDocumentListener(new DocumentListener() {

            @Override
            public void removeUpdate(DocumentEvent e) {
                validate(e);
            }

            @Override
            public void insertUpdate(DocumentEvent e) {
                validate(e);
            }

            @Override
            public void changedUpdate(DocumentEvent e) {
                validate(e);
            }

            private void validate(DocumentEvent e) {
                try {
                    String text = e.getDocument().getText(0, e.getDocument().getLength());
                    if(text.equals("hello")){
                        System.out.println("ok");
                    }
                } catch (BadLocationException e1) {
                    e1.printStackTrace();
                }
            }
        });
        f.setText("hello");
        add(f);
    }

    public static void main(String... s){
        new TestFrame();
    }

}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top