Pessal,
Estou aprendendo em Java ( +1 ), peguei um exemplo sobre eventos e estou com dificuldades pois quando compilo, me aparece a mensagem:
acao2:java:5: acao2 should be declared abstract; it does not define actionPerformed(java.awt.event.ActionEvent) in acao2
public class acao2 extends JFrame implements ActionListenter {
Pelo que percebi, o seu método actcionPerformed(…) está começando com letra Maiúscula:
publicvoidActionPerfomed(ActionEvente){}
Este método não existe, portanto você não está sobrepondo o método actionPerfomed(…) do JFrame. O correto seria:
publicvoidactionPerfomed(ActionEvente){}// Começa com minúscula
O Java é case-sensitive. Ou seja, ele diferencia atributos (ou variáveis, ou métodos) com mesmo nome mas com tipo diferente. Ex: atributo, Atributo, ATRIBUTO, etc. Se fosse no Pascal ou no VB (acho) isso não faria a menor diferença, mas no Java faz.
Espero que isso funcione,
luiz_ross
Não entendi muito bem o que vc quis fazer com o evento do seu código, por favor explique-se melhor mas pelo que eu vi vc está usando de maneira errada. O código roda mas dessa maneira..
Ainda não funciona. Quanto a dica do Rafael, deixei em minuscula mas continuou o erro. Quanto ao exemplo do Luis, copiei (CTRL+C) o seu exemplo, mas dá o mesmo erro.
Por favor, não desanimem ! Ajudem-me !
Obrigado !
luiz_ross
O Renam me desculpa, eu coloquei o código meio errado pra vc, tem que tirar o implements ActionListener do código.Agora põe pra compilar de novo que da certo, blz!!!
Rafael_Afonso
Novo Erro de Escrita.
No seu código temos:
publicvoidActionPerfomed(ActionEvente){}
Copiei seu código original, modifiquei da forma que sugeri e deu o seu erro. Fui até a Api do Java referente a
ActionListener. Copiei o único método desta interfacce e colei no seu código. Assim ficou:
publicvoidactionPerformed(ActionEvente){}
E daí compilou e rodou corretamente.
O problema foi o seguinte: Enquanto você digitou ActionPerfomed o correto seria actionPerformed. Repare que o a é minúsculo e que há um segundo r depois do segundo o.
Este erro de grafia é muito comum.
Grato,
Rafael_Afonso
Outra coisa: quando uma classe implementa uma interface, ela deve implementar todos os métodos definidos por esta interface. Por isso a sugestão do Renan não funcionou: Ele não implementou o método actionPerformed().
R
renan
Funcionou perfeitamente !
Era isto mesmo. grafia. Quanto a implementação, bem não posso discutir nada sobre, pois ainda não entendo direito o conceito de objetos. ( Sou programador clarion e o mesmo é pobrissimo sobre objetos ).
Mas, vou estudá-los e assim aprimorar o conhecimento sobre esta ótima linguagem.