Ajuda com evento

5 respostas
I

Olá colegas!

Estou com um problema que não consigo resolver.
No meu sistema, após tratar a tecla F10 com o AWTEvent, eu dou um requestfocus() em um campo de texto.
O problema é que quando digito algo após isto, a primeira tecla some, ou seja, somente após a segunda tecla pressionada que aparece na campo.

Pode ser alguma propriedade do componente?
Estou achando que tem algum componente na tela que fica com o foco, e volta para o que quero somente após o segundo caractere digitado.

Valew;

5 Respostas

igor_jua
Tente utilizar o grabFocus();

8)

Posta  se deu certo

abraço!
I

Aew!

Fiz o teste, mas não resolveu…

vlw pela dica!

I

Estou testando as possibilidades…

Quando eu clico no JFrame, aí funciona! Não perde nenhuma letra!

Qual propriedade posso usar?

I

Ninguém sabe?

Vlw

I

UP^

Ainda não resolvi o problema da tecla...

Quando eu trato um evento (ex: tecla F10), o focus vai pro Jframe.

Código que trata o evento:

EventQueue queue = new EventQueue() {

            @Override
            protected void dispatchEvent(AWTEvent event) {
                super.dispatchEvent(event);
                String evento = event.paramString();
                String a[];
                String tecla[];

                if (!evento.equals("")) {
                    if (evento.substring(0, 5).equals("KEY_P")) {
                        a = evento.split(",");
                        tecla = a[1].split("=");

                        switch (Integer.parseInt(tecla[1])) {
                            case 112: //F1
                                JOptionPane.showMessageDialog(null, F1");
                                break;
                            case 113: //F2
                                JOptionPane.showMessageDialog(null, "F2");
                                break;
                        }
                    }
                }
            }
        };
        Toolkit.getDefaultToolkit().getSystemEventQueue().push(queue);

        Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {

            public void eventDispatched(AWTEvent e) {
            }
        }, AWTEvent.KEY_EVENT_MASK);

Eu queria que sempre ficasse o foco em um textfield... alguem ajuda?

Criado 24 de novembro de 2009
Ultima resposta 15 de dez. de 2009
Respostas 5
Participantes 2