JavaFX alterar caráter default TAB para Enter

930 views
Skip to first unread message

Helio Frota

unread,
Jan 14, 2013, 8:56:03 AM1/14/13
to ce...@googlegroups.com
Bom dia galera,

A um tempo atrás o JavaFX não fez parte do nosso conjunto de tecnologias porque não consegui encontrar uma forma de alterar o caráter 
padrão de mover o foco dos campos de "TAB" para "Enter". 

Alguém sabe como resolver isso ?

Com java swing estamos modificando globalmente da seguinte forma:

private static void setTraversalFocus() {
Set < AWTKeyStroke > set = new HashSet < AWTKeyStroke >(KeyboardFocusManager.getCurrentKeyboardFocusManager().getDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
set.clear();
set.add(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));
KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, set);
}

Desde já agradeço.

 

Roberto Coelho

unread,
Jan 14, 2013, 9:09:24 AM1/14/13
to ce...@googlegroups.com
Não tenho certeza, mas talvez isso possa ajudar http://docs.oracle.com/javafx/2/events/handlers.htm



 

--
-- Você está inscrito na lista de discussão técnica do CEJUG. Para postar nesta lista, envie emails para ce...@googlegroups.com. Para sair da lista de discussão, envie um email para cejug+un...@googlegroups.com. Para sair completamente do grupo, envie um email para ad...@cejug.org ou através do site http://www.cejug.org/jug.
 
 



--

Atenciosamente:  

Roberto Coelho

http://facebook.com/betowebti

@betowebti


(85) 9749-3431/8853-8238

Helio Frota

unread,
Jan 14, 2013, 9:15:44 AM1/14/13
to ce...@googlegroups.com
Valeu Roberto, está no bookmark.

Precisamos apenas disso pra migrar 1 sistema que precisa realmente usar um "Enter" para pular pro próximo campo em vez do Tab.

Pois os usuários usam o teclado numérico e a mão esquerda está ocupada com folhas de papel. Legal né : ] ?

Vou testar isso depois.

Helio Frota

unread,
Jan 14, 2013, 9:22:01 AM1/14/13
to ce...@googlegroups.com
Lendo o javadoc encontrei apenas isso aqui:

focusTraversable(boolean) - Method in class javafx.scene.NodeBuilder
Set the value of the focusTraversable property for the instance constructed by this builder.
focusTraversableProperty() - Method in class javafx.scene.Node
Specifies whether this Node should be a part of focus traversal cycle.

Pelo que entendi não indica que podemos mudar em toda a aplicação o Tab para Enter.

De qualquer forma valeu.
Message has been deleted
Message has been deleted

Helio Frota

unread,
Apr 3, 2013, 9:20:15 PM4/3/13
to ce...@googlegroups.com
Olá Jean Merelis,

Por algum motivo o seu post ficou "grudado" nas pendências da lista, estranho...

Mas obrigado pela contribuição vou testar isso e dar um feedback.

Pergunta:

Funciona de forma global para aplicação assim como no java swing ?

Valeu !


Em 2 de abril de 2013 15:58, Jean Merelis <jean.m...@gmail.com> escreveu:
Boa tarde.
Não sei se tu resolveu esta questão, mas irei postar uma alternativa que encontrei.
Primeiro criei uma classe como segue:

public class EnterAsTab {
    private Parent parent;

    public EnterAsTab(Parent aParent) {
        this.parent = aParent;
        TraversalEngine traversalEngine = new TraversalEngine(parent, false);
        parent.setImpl_traversalEngine(traversalEngine);

        parent.getScene().setOnKeyPressed(new EventHandler<KeyEvent>() {
            
            @Override
            public void handle(KeyEvent t) {
                if (t.getCode().equals(KeyCode.ENTER)) {
                    t.consume();
                    parent.getImpl_traversalEngine().trav(parent.getScene().getFocusOwner(), Direction.NEXT);
                }
            }
        });
    }
    
    public static EnterAsTab create(Parent parent){
        return new EnterAsTab(parent);
    }
}

E no método onde é criado o node raiz da cena, utilizei a classe desta forma: 
EnterAsTab.create(rootNode);

Esta pode não ser a solução ideal, mas funciona bem.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "CEJUG" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para cejug+un...@googlegroups.com.
Para postar neste grupo, envie um e-mail para ce...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--
Helio Frota
http://www.heliofrota.com/

Helio Frota

unread,
Apr 3, 2013, 9:22:53 PM4/3/13
to ce...@googlegroups.com
Ah vi agora

"E no método onde é criado o node raiz da cena, utilizei a classe desta forma:"

Deve funcionar bem então. Isso é muito bom.

Helio Frota

unread,
Apr 4, 2013, 8:10:20 AM4/4/13
to ce...@googlegroups.com
Feedback:

Aqui não funcionou, acho que pode ser algum problema de versão. O método setImpl_traversalEngine está deprecated.

"javafx.scene.Parent.setImpl_traversalEngine(TraversalEngine)
This is an internal API that is not intended for use and will be removed in the next version"

http://docs.oracle.com/javafx/2/api/deprecated-list.html#method

Apliquei no nó pai que é o grid, segue o código:

/**
 * @author heliofrota
 */
public class TesteFXTabEnter extends Application {

    @Override
    public void start(Stage primaryStage) {
        Button btnA = new Button("A");
        Button btnB = new Button("B");
        Button btnC = new Button("C");
        Button btnD = new Button("D");

        GridPane grid = new GridPane();
        grid.setAlignment(Pos.CENTER);
        grid.setHgap(10);
        grid.setVgap(10);
        grid.setPadding(new Insets(25, 25, 25, 25));

        grid.add(btnA, 0, 0);
        grid.add(btnB, 0, 1);
        grid.add(btnC, 1, 0);
        grid.add(btnD, 1, 1);

        Scene scene = new Scene(grid, 200, 200);
       
        EnterAsTab.create(grid);
       
        primaryStage.setTitle("A-B-C-D");
        primaryStage.setScene(scene);
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }

    static class EnterAsTab {

Helio Frota

unread,
Apr 4, 2013, 8:22:13 AM4/4/13
to ce...@googlegroups.com
Parece que não tem javadoc para a classe TraversalEngine.

http://docs.oracle.com/javafx/2/api/index.html?index-all.html

Temos que ver o código fonte no openFX agora

Helio Frota

unread,
Apr 4, 2013, 9:18:30 AM4/4/13
to ce...@googlegroups.com
Mas por agora preciso parar essa investida... vejo depois no futuro
Message has been deleted

Jeandeson O. Merelis

unread,
Apr 4, 2013, 11:27:15 AM4/4/13
to ce...@googlegroups.com, helio...@gmail.com
Hélio, boa tarde.
Não funcionou porque os componentes que estão dentro do grid são buttons, e o ENTER no button executa uma action. Eu acho este um comportamento normal quando se trata de button. Troque os buttons por TextFields que deverá funcionar como esperado.
Sobre ser deprecated, é porque é uma implementação nova que poderá sofrer alguma alteração, por isso é bom fazer uma variação protegida ao utilizar a classe TraversalEngine.




2013/4/4 Helio Frota <helio...@gmail.com>

--
Você recebeu esta mensagem porque está inscrito em um tópico do grupo "CEJUG" dos Grupos do Google.
Para cancelar a inscrição neste tópico, acesse https://groups.google.com/d/topic/cejug/a4XZlAasRfk/unsubscribe?hl=pt-BR.
Para cancelar a inscrição neste grupo e todos os seus tópicos, envie um e-mail para cejug+un...@googlegroups.com.

Para postar neste grupo, envie um e-mail para ce...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
 
 



--
Jeandeson O. Merelis

Helio Frota

unread,
Apr 4, 2013, 11:55:36 AM4/4/13
to Jeandeson O. Merelis, ce...@googlegroups.com
Não funcionou porque os componentes que estão dentro do grid são buttons, e o ENTER no button executa uma action.

Certo,  essa parte aqui eu vou ver depois mas imagina o seguinte

textField
textField
button
textField

Isso pode quebrar a coisa toda certo ? Mas tudo bem acho que daria para contornar modificando o layout.


Troque os buttons por TextFields que deverá funcionar como esperado.

Vou testar sim.


Sobre ser deprecated, é porque é uma implementação nova que poderá sofrer alguma alteração, por isso é bom fazer uma variação protegida ao utilizar a classe TraversalEngine.

A TraversalEngine está dentro do pacote com.sun....

O que podemos acompanhar é que esses pacotes tendem a serem modificados para javax....

De qualquer forma essa classe está sem javadoc, como o Hildeberto falou na apresentação, já é uma boa oportunidade de ir lá no pessoal e falar sobre essa questão.
Hoje mesmo perguntei no programa AdoptOpenJDK se o OpenFX faz parte dessa iniciativa, eles responderam que sim. Tem interesse em ajudar nessa parte ?

Se alguém mais, que manja de JavaFX, membro do CEJUG e tem interesse em contribuir o CEJUG pode guiar os primeiros passos para que você possa participar.



Helio Frota

unread,
Apr 4, 2013, 11:58:51 AM4/4/13
to Jeandeson O. Merelis, ce...@googlegroups.com
1) Funcionou com textFields
2) Realmente qubra a coisa com textF textF Button textF mas isso pode ser contornado com layout da app.

Cara Obrigado !


Roberto Coelho

unread,
Apr 4, 2013, 2:45:40 PM4/4/13
to ce...@googlegroups.com
O assunto me interessa, mas a minha dúvida é uma especulação, poderia utilizar essa mesma classe para os Labels dos textfield e buttons? O enter acontecendo nos labels?

Atenciosamente:  

Roberto Coelho

@betowebti


(85) 8853-8238

Helio Frota

unread,
Apr 4, 2013, 3:14:59 PM4/4/13
to ce...@googlegroups.com
O assunto me interessa, mas a minha dúvida é uma especulação, poderia utilizar essa mesma classe para os Labels dos textfield e buttons? O enter acontecendo nos labels?

Eu tenho quase certeza de que podemos definir os tipos de componentes... estou começando no JavaFX acho que olhando o código do OpenFX podemos ter idéias de fazer isso sim.

Bem como pular o foco em um caso como:

textF
textF
Button
textF

Se você aplicar esse código que o Jean passou e teclar enter nessa sequência o foco fica parado no botão devido à ação do botão segundo a citação do Jean.

Helio Frota

unread,
Apr 5, 2013, 11:45:55 AM4/5/13
to ce...@googlegroups.com
Jean e Roberto e a quem mais interessar olhem isso:

"OpenJFX is the open source home of JavaFX development. The goal of OpenJFX is to build the next-generation Java client toolkit. The project intends to file a JSR in the Java SE 9 timeframe and hopes to eventually be part of the JDK proper."

http://openjdk.java.net/projects/openjfx/

Se começarmos a movimentar aqui a lista do CEJUG podemos reunir uma boa contribuição o que acham ?


Roberto Coelho

unread,
Apr 5, 2013, 1:18:54 PM4/5/13
to ce...@googlegroups.com
Eu já tinha essa ideia p/ um monte de coisas (componentes) que tem no swing e falta no fx, mas sozinho ninguém faz nada :( . Por exemplo, as caixas de diálogo. Devia ser um negócio padrão. O que nós estamos falando aqui por exemplo, são os eventos que existem na classe abstrata KeyListener do swing e não existe no fx...

Helio Frota

unread,
Apr 5, 2013, 1:23:24 PM4/5/13
to ce...@googlegroups.com
Eu já tinha essa ideia p/ um monte de coisas (componentes) que tem no swing e falta no fx, mas sozinho ninguém faz nada :( . Por exemplo, as caixas de diálogo. Devia ser um negócio padrão. O que nós estamos falando aqui por exemplo, são os eventos que existem na classe abstrata KeyListener do swing e não existe no fx...

A idéia é baixar o código do openFX implementar alguma coisa e tentar mostrar pros caras da oracle ou mais ou menos isso : ]

Roberto Coelho

unread,
Apr 5, 2013, 2:44:28 PM4/5/13
to ce...@googlegroups.com
"Mailing list subscription confirmation notice for mailing list
openjfx-dev"

Já estou na lista

João Paulo Freire

unread,
Apr 15, 2014, 10:22:06 PM4/15/14
to ce...@googlegroups.com, helio...@gmail.com
Atualizando o código:
- tem uma classe (no jdk8 final) para navegar para o próximo item: KeyboardShortcutsHandler;
- vi em um post do fxeperience que a melhor forma de testar qual combinação de teclas está sendo pressionadas é utilizar a classe KeyCodeCombination.


public class DigitacaoController extends AnchorPane{
....
@Override  public void initialize(URL url, ResourceBundle rb) {
       
// referencia: http://fxexperience.com/2011/10/correctly-checking-keyevents/
       
final KeyCombination ENTER = new KeyCodeCombination(KeyCode.ENTER);
       
       
this.addEventFilter(KeyEvent.KEY_PRESSED, (KeyEvent KV) -> {
           
EventTarget tgt = KV.getTarget();
           
if (ENTER.match(KV)) {
               
               
KeyboardShortcutsHandler ksh = new KeyboardShortcutsHandler();
                ksh
.traverse((Node) tgt, Direction.NEXT);
                KV
.consume();
               
           
}
       
});
   
}
}

helio frota

unread,
Apr 15, 2014, 10:48:05 PM4/15/14
to ce...@googlegroups.com
Olá João Paulo,

O problema foi resolvido ainda nessa mesma thread:
https://groups.google.com/forum/#!topic/cejug/a4XZlAasRfk

O Jeadeson me respondeu na thread:


"Troque os buttons por TextFields que deverá funcionar como esperado."

Daí eu respondi:


"1) Funcionou com textFields
2) Realmente qubra a coisa com textF textF Button textF mas isso pode ser contornado com layout da app.

Cara Obrigado !"

E inclusive está funcionando filé no Java 8 o/ testei hoje pela tarde : ]

Agradeço pela colaboração, mas pelo que entendi o seu código é relativo à "saber que tecla foi pressionada" é isso ?

A discussão que iniciei foi sobre: "Alterar o caráter do TAB para o Enter".

De qualquer forma vlw pela participação.






-------------------------------------------
http://eprogramming.github.io



--
Você recebeu essa mensagem porque está inscrito no grupo quot;CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.

João Paulo Freire

unread,
Apr 15, 2014, 11:25:50 PM4/15/14
to ce...@googlegroups.com
É alterar os campos com o [Enter] ... 
tenho um cliente que o digitador utiliza o teclado numerico para dar entrada em uns formulários.

Na questão do button eu coloquei no meu código que o campo inicial dá um requestFocus....

helio frota

unread,
Apr 16, 2014, 6:15:04 AM4/16/14
to ce...@googlegroups.com
É alterar os campos com o [Enter] ..

Você diz "ir para o próximo utilizando o [Enter] em vez do [Tab]" certo ?
Vou testar.

Só ficou confuso porque você falou que existe uma classe nova na versão final do java 8 e o post de referência é de 2011 e logo em seguida você escreve. "testar qual combinação de teclas está sendo pressionadas"



-------------------------------------------
http://eprogramming.github.io

João Paulo Freire

unread,
Apr 16, 2014, 7:28:36 AM4/16/14
to ce...@googlegroups.com
Porque sem a classe o teste da combiação de teclas não distingue entre o Ctrl+Enter, Shift+Enter.....

CTRL_ENTER = new KeyCodeCombination(KeyCode.ENTER,KeyCombination.CONTROL_DOWN);

que num caso aqui meu faz diferença  (ctrl+enter ativa o botão pricipal e volta ao inicio do ciclo).
Por isso adicionei a classe: o teste de qual tecla foi pressioada fica mais limpo( e preciso) que apenas verificando o keycode.

helio frota

unread,
Apr 16, 2014, 8:34:56 AM4/16/14
to ce...@googlegroups.com
Testei aqui e funcionou.

Realmente é mais elegante e é possível aplicar direto à um "Node" e consequentemente é aplicado aos "Nós filhos".

KeyCombination ENTER = new KeyCodeCombination(KeyCode.ENTER);
        page.addEventFilter(KeyEvent.KEY_PRESSED, (KeyEvent KV) -> {

            EventTarget tgt = KV.getTarget();
            if (ENTER.match(KV)) {
                KeyboardShortcutsHandler ksh = new KeyboardShortcutsHandler();
                ksh.traverse((Node) tgt, Direction.NEXT);
                KV.consume();
            }
});

"Page" aqui é um "Stage", logo quem tiver nesse Stage vai receber a influência desse código.

Valeu cara ! Atualizei aqui.




-------------------------------------------
http://eprogramming.github.io

helio frota

unread,
Apr 16, 2014, 11:04:19 AM4/16/14
to ce...@googlegroups.com
João Paulo,

PS1: Eu quase desisto dessa thread : ] por causa do post de 2011 e do "saber qual a tecla pressionada".

PS2: Voltei pro netbeans para aplicações desktop pois está (já estava) superior ao Eclipse, mais agora com java 8, ainda mais.

Em 2012 iniciei um processo de "Sem sentimento, ressentimento" com relação à tudo que envolve o java. Engraçado que só fiz ganhar com isso.

Se tiver um "IF" novo que é melhor do que o "IF" antigo, não migrar é ser "Sentimental".  - Minha opinião.

vlw mais uma vez pelo "Update".





-------------------------------------------
http://eprogramming.github.io

Roberto Coelho

unread,
Apr 16, 2014, 11:17:58 AM4/16/14
to [CEJUG]
+1 Helio Frota!

Atenciosamente:  

Roberto Coelho

JUGLeader CEJUG | Front-End Dev at CCIA | betoweb.com.br

helio frota

unread,
May 11, 2014, 9:18:10 AM5/11/14
to ce...@googlegroups.com
PS3: Voltei pro netbeans para aplicações desktop pois está (já estava) superior ao Eclipse, mais agora com java 8, ainda mais.

intelliJ community resolve o problema não preciso mais do netbeans : p

-------------------------------------------
http://eprogramming.github.io

Jorge Luis

unread,
May 12, 2014, 8:51:59 AM5/12/14
to ce...@googlegroups.com
Ola pessoal!

Bem é o seguinte estou com um problema utilizando essa comando vamos lá.

Ele esta funcionando que é uma beleza porem quando preciso indentificar o enter em um componente especifico o componente em questão não esta disparando o evento, na verdade ele até esta com todas as outras teclas mas com o enter não, ai quando eu tiro o "filter" da jogada ele faz o que preciso (indentificar o enter em um campo especifico).

Eu estou usando o evento setOnKeyPressed para pegar enter do componente.

E ai vocês tem alguma sugestão?


Date: Sun, 11 May 2014 10:18:10 -0300
Subject: Re: [CEJUG] Re: JavaFX alterar caráter default TAB para Enter
From: 00h...@gmail.com
To: ce...@googlegroups.com

Jorge Luis

unread,
May 12, 2014, 2:48:52 PM5/12/14
to ce...@googlegroups.com
Opa consegui!!!

É o seguinte lendo esse link http://docs.oracle.com/javafx/2/events/filters.htm descobri o que o tal do node é extremamente possessivo tipo se você implementou algo no node pai usando event filters nem tente usar esse algo nos nodes filhos que não vai dar certo tipo se você implementou coisas como clique do mouse ou uma determinada tecla (no meu caso) não use nós nodes filhos que não vai funcionar.

Ai para resolver isso sem perder a funcionalidade (pois usar requestfocus é no mínimo deselegante) usei algo que fiz no Delphi, implementei uma herança onde fica o método que faz a mudança de foco e nos componentes que quero que isso aconteça só adiciono o método no addEventFilter de cada componente ficando assim

 textField.addEventFilter  (KeyEvent.KEY_PRESSED, filterEnter);

Onde o filterEnter é o evento implementado na herança que só faço adicionar no componente que quero que tenha essa funcionalidade pois segundo esse link http://docs.oracle.com/javafx/2/api/javafx/scene/Node.html
o node é a estrutura básica de todos ou quase todos os componentes FX.

Se não foi bem claro estou a disposição para esclarecer melhor.

Att.
Jorge Luis



From: jorge...@hotmail.com
To: ce...@googlegroups.com
Subject: RE: [CEJUG] Re: JavaFX alterar caráter default TAB para Enter
Date: Mon, 12 May 2014 15:51:59 +0300

Clairton Carneiro Luz

unread,
May 12, 2014, 3:47:03 PM5/12/14
to ce...@googlegroups.com
Olá Jorge Luis,

Se você quiser fazer com que após ele apertar ENTER o foco ir para outro campo X, e vc já tem implementado o ENTER para funcionar como TAB, então basta organizar os elementos na ordem que desejar, lembrando que quando falo ordem, me refiro a ordem dos elementos lá no SB (Scene Builder) e não ná tela. Por exemplo: se eu tenho os campos na tela na seguinte ordem: nome, sobrenome, fone e endereço, mas eu quero que após o campo nome ele vá para o campo fone, basta no SB eu ordenar os itens da seguinte forma nome, fone, sobrenome, endereço. Ná tela os itens vão continuar sendo exibidos na mesma ordem mas quando vc apertar enter em nome o foco já irá para fone sem precisar criar nenhum evento.  
 
Não sei se deu pra entender o que eu quis dizer mas qualquer dúvida fala ai que eu explico melhor.

--

Atenciosamente Clairton Carneiro Luz

Técnico em Computadores e Redes. Estagiário em desenvolvimento com Java. 

Cursando: Analise e Desenvolvimento de Sistemas.

Bloghttp://clairtonluz.github.io/

Twitter: @ClairtonLuz  -  Instagram: clairtoncl - Github: https://github.com/clairtonluz

Jorge Luis

unread,
May 12, 2014, 4:10:31 PM5/12/14
to ce...@googlegroups.com
Olá Clairton

Realmente talvez eu não tenha sido muito claro, a raiz do problema não era a ordem dos componentes e sim a tecla enter que quando eu implementava no node raiz os nodes filhos não poderiam mais usar.

Pois tenho um textfield que só pode pesquisar se o usuário pressionar a tecla enter. E como a tecla estava "presa" no node pai eu não tinha como identificar quando o usuário a pressionava foi ai que fui que eu pesquisei e deu esse resultado.

Se tiver alguma dúvida ainda posso tentar montar um exemplo da problemática e depois mostrar a solucionática da coisa é só avisar :D

Att
Jorge Luis


Date: Mon, 12 May 2014 16:47:03 -0300

Subject: Re: [CEJUG] Re: JavaFX alterar caráter default TAB para Enter

Clairton

unread,
May 12, 2014, 8:01:54 PM5/12/14
to ce...@googlegroups.com, ce...@googlegroups.com
Ok entendi :)

Atenciosamente Clairton Luz

Jeandeson O. Merelis

unread,
Jun 2, 2014, 10:11:08 PM6/2/14
to ce...@googlegroups.com
Olá pessoal, desculpem-me por ter chegado um pouco atrasado na discussão.

Jorge Luis, sobre sua questão, realmente se usar o "EventFilter" terá problemas, pois o evento é filtrado antes de chegar nos nodes filhos.

Mas se você usar o "EventHandler" ao invés do "EventFilter", você obterá o resultado esperado.


Faça o teste desta forma:
Coloque vários TextFields na scene. "searchTextField" é o TextField que queres fazer um tratamento diferente para o enter.


    final KeyCombination ENTER = new KeyCodeCombination(KeyCode.ENTER);
   
    stage.addEventHandler(KeyEvent.KEY_PRESSED, (KeyEvent kv) -> {
            if (ENTER.match(kv)) {

                KeyboardShortcutsHandler ksh = new KeyboardShortcutsHandler();
       
        //observe que aqui não é funciona se usar o kv.getTarget() como foi feito no EventFilter
                //o parametro tem que ser o node que está com o foco para termos o comportamento esperado.   
                ksh.traverse(stage.getScene().getFocusOwner(), Direction.NEXT);
                kv.consume();
            }
     });


     searchTextField.addEventHandler(KeyEvent.KEY_PRESSED, (KeyEvent KV) -> {
            if (ENTER.match(KV)) {
                Dialogs.create()
                        .owner(
stage).message("Teste OK").showInformation(); 
                kv.consume();          
            }
     });

Jeandeson O. Merelis

Jorge Luis

unread,
Jul 16, 2014, 10:51:21 AM7/16/14
to ce...@googlegroups.com

Bom dia Jeandeson
cara me desculpe a demora em responder aparecerão mil e uma tarefas nesse meio tempo que me impedirão de responder.

Cara, esse trecho de código funcionou que foi uma maravilha, porem, tenho uma ressalva.

Tenho uma funcionalidade no sistema que é assim:

  Se um textfield estiver com o foco e o editable estiver true e eu pressionar enter o sistema abre uma tela de lista até ai tudo bem o lance é que se eu colocar a configuração do enter no STAGE ai ele passa para o próximo sem a confirmação do usuário no textfield anterior saca? Pois eu estava vendo a sequencia de execução dos eventos e 1º ele executa o do textfield e depois ele executa o da STAGE ai devido a isso eu preferi, a principio, colocar um evento genérico em cada componente e quando eu precisar de algo mais rebuscado eu simplesmente troco o evento.

 Muito Obrigado e desculpe pela demora.
PS. Se não fui muito claro estou a disposição para explicar melhor.

Att. Jorge Luis.



Date: Mon, 2 Jun 2014 23:11:05 -0300
Subject: Re: [CEJUG] Re: JavaFX alterar caráter default TAB para Enter
Reply all
Reply to author
Forward
0 new messages