InputMap e ActionMap funcionando em todas as telas do sistema.  XML
Índice dos Fóruns » Interface Gráfica
Autor Mensagem
laudenpower
JavaEvangelist
[Avatar]

Membro desde: 28/12/2008 21:00:08
Mensagens: 349
Offline

Olá pessoal,

Andei lendo o artigo do vinny sobre Input e ActionMap, porém pelo que entendi ele funciona apenas no Jpanel da tela aonde eu adiciono o action. Porém o artigo não mostrou como podemos fazer aquilo utilizando combinação de teclas (como o numeral 0 e o enter no numpad), outra coisa que não ficou clara é como eu poderia estender o comportamento para todas as telas do sistema, ou seja quero que todas as telas respondam ao mesmo comando não importando qual tela possui o foco.

Bom, era isso... Agradeço a atenção e aguardo alguma idéia

Enquanto cultivares teu saber, nada tens a temer!

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

Nesse caso, você deve definir uma superclasse para sua tela do sistema, e usa-la em todas as suas telas.
Ou definir um construtor para o painel principal da sua tela, que já faça esse mapeamento.

No meu sistema, usei a primeira opção.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
laudenpower
JavaEvangelist
[Avatar]

Membro desde: 28/12/2008 21:00:08
Mensagens: 349
Offline

Tipo é que esqueci de expor um detalhe...
As janelas são criadas no netbeans usando o matisse.
Nesse caso como eu poderia fazer isso?

Desde já agradeço a atenção.

Enquanto cultivares teu saber, nada tens a temer!

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline

laudenpower wrote:Tipo é que esqueci de expor um detalhe...
As janelas são criadas no netbeans usando o matisse.
Nesse caso como eu poderia fazer isso?


Eu não faço a menor idéia.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
laudenpower
JavaEvangelist
[Avatar]

Membro desde: 28/12/2008 21:00:08
Mensagens: 349
Offline

ViniGodoy wrote:
laudenpower wrote:Tipo é que esqueci de expor um detalhe...
As janelas são criadas no netbeans usando o matisse.
Nesse caso como eu poderia fazer isso?


Eu não faço a menor idéia.


UAHUAHUAHUHAUh
Boa!....

Tipo eu tava pensando em criar uma classe que implementa KeyListener e depois em cada tela eu adicionar essa classe, sendo que ao adicionar eu armazenaria a referencia da tela no listener.

Ai nesse caso eu teria o prejuizo de ter que verificar sempre se um formulario está criado ou não para poder interagir com ele.

Será que fica muito "tosco"?

Mesmo assim agradeço a tua atenção, valeu mesmo (sem brincadeira).

Enquanto cultivares teu saber, nada tens a temer!

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Eric Yuzo
GUJ Ranger
[Avatar]

Membro desde: 25/10/2009 20:36:30
Mensagens: 956
Localização: São Vicente - SP
Offline

Você pode criar uma superclasse como o Vini falou, e quando criar as outras janelas trocar o "extends JFrame" por "extends SuaJanelaPai".

Se tiver algum componente adicionado na janela pai, não vai aparecer no editor gráfico da janela filha, mas quando executar vai aparecer normalmente. Como a intenção é definir o InputMap, acho que não será problema.

O importante mesmo é ser feliz!

DevSV
[WWW]
 
Índice dos Fóruns » Interface Gráfica
Ir para:   
Powered by JForum 2.1.8 © JForum Team