| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 20:21:55
|
_mourao_
Smalltalk
Membro desde: 11/04/2007 20:15:00
Mensagens: 2
Localização: Setúbal-Portugal
Offline
|
Boas.
Eu tou a fazer uma calculadora, com interfaces gráficas. Queria saber se há alguma forma de saber se um certo bottão foi seleccionado. Por exemplo: se o botão sum for seleccionado:
Eu poderia fazer com if, do género,
JButton sum=new JButtom();
if(sum.isSelected()) E.sum(f1,f2);
onde f1 e f2 são fracções(de uma Class Fraction) e E(Class Euclid que faz operações sobre fracções). Eu tenho esses objectos programados, e os métodos todos bem feitos, como o sum do exemplo que dou.
O problema é que quando carrego no botão na minha frame que identifica o sum, eu tenho aquela condição, o programa passa á frente, isto é, dá falso.
E como receber informação, por exemplo, se eu carregar nos botões '1','7','3' eu queria guardar estes valores numa variável, consoante eu carregar nas teclas.
Obrigado.
Podem dar umas dicas?
|
Diogo Mourão. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 22:04:05
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Offline
|
O primeiro problema que você notará ao fazer uma calculadora é que o componente deve ter o foco para reagir ao keypressed. Ou seja, se o usuário pressionar as teclas 1, 2, 3 e 4, não vai obter resultado algum, a menos que a tecla sendo pressionada esteja em foco. Para resolver esse problema, você terá que usar um ActionMap e um InputMap, como descrito aqui.
Depois, para saber qual número foi pressionado, use o método getSource do evento actionPerformed. Por exemplo:
E assim por diante...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/04/2007 22:12:46
|
_mourao_
Smalltalk
Membro desde: 11/04/2007 20:15:00
Mensagens: 2
Localização: Setúbal-Portugal
Offline
|
Obrigado pela ajuda =).
Acho que agora vou conseguir resolver o meu problema.
Obrigado.
|
Diogo Mourão. |
|
|
 |
|
|
|
|