Componentes Button - Dúvida em código, alguém pode ajudar, por favor?

3 respostas
Valder_Olmo_Correa

Pessoal, meu primeiro tópico no fórum, apesar de que já acompanho há algum tempo.
Estou iniciando os estuods de Java usando o livor “Java2 Ensino Didático, Desenvolvendo e Implementando Aplicações” da Editora Érica do autor Sérgio Furgeri.
Estou com uma dúvida na inclusão de componentes Buttons nas janelas. Outras dúvidas consegui resolver lendo novamente a teoria, evito perguntar as coisas, acho melhor tentar resolver por mim mesmo, mas esta aqui não estou entendendo.

Seguinte, o código é o seguinte:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Exemplo0903 extends JFrame implements ActionListener
{
	JButton b1,b2;
	ImageIcon icone = new ImageIcon("H:/Meus documentos/Minhas imagens/Imagens_Valder/Imagens_Internet/Yoda.jpg");
    public Exemplo0903()
	{
		setTitle("Inserindo botões na janela");
		setSize(350,100);
		setLocation(50,50);
		getContentPane().setBackground(new Color(180,180,180));
		b1 = new JButton("Busca", icone);
		b1.setHorizontalTextPosition(AbstractButton.LEFT);// Posição do texto
		b1.setBackground(new Color(100,180,180)); // Cor de fundo
		b1.setForeground(Color.black); // Cor do título
		b1.setFont(new Font("ScriptS",Font.BOLD,20)); // Define a fonte
		b1.setEnabled(true);
		b1.addActionListener(this);
		b1.setToolTipText("Pressione aqui para realizar uma busca");
		b1.setMnemonic(KeyEvent.VK_B);
		b2 = new JButton("Cancelar");
		b2.addActionListener(this);
		b2.setMnemonic(KeyEvent.VK_C);
		b2.setToolTipText("Pressione aqui para cancelar");
		getContentPane().setLayout(new FlowLayout()); // Gerenciador de layout
		getContentPane().add(b1);
		getContentPane().add(b2);
	}
	
	public void actionPermormed(ActionEvent e) // Método implementado pelo ActionListener
	{
		if (e.getSource()==b1)
		{
			System.out.println("Botão 1 pressionado");
		}
		if (e.getSource()==b2)
		{
			System.out.println("Botão 2 pressionado");
		}
	}
	
	public static void main(String args[])
	{
		JFrame janela = new Exemplo0903();
		janela.setUndecorated(true);
		janela.getRootPane().setWindowDecorationStyle(JRootPane.FRAME);
		janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		janela.setVisible(true);
	}
}

Está dando erro na linha 5 com a seguinte mensagem:

“Exemplo0903 is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener”

Alguém por favor me dê uma ajudinha aí vai ! Como disse antes, já fiz de tudo, li, reli, revisei a teoria, mas não estou conseguindo ver nenhum problema no c´´odigo, que está igual ao do livro.

Desde já agradeço !

Valeu aí, galera !

3 Respostas

P

cara, essa msg quer dizer q vc não implementou o método da interface ActiomListener. Se vc prestar bastante atenção vai ver q o nome do método que vc escreveu está errado. Está actionPermormed e não actionPerformed…falta o “f” no lugar do “m”.

é só corrigir isso q funciona.

vlw

N

Valder,

É apenas erro de digitação:

public void actionPermormed(ActionEvent e) // Método implementado pelo ActionListener   
    {   
        if (e.getSource()==b1)   
        {   
            System.out.println("Botão 1 pressionado");   
        }   
        if (e.getSource()==b2)   
        {   
            System.out.println("Botão 2 pressionado");   
        }   
    }

corrija o nome do método: actionPermormed para actionPerformed

sds,
Nilson Costa

Valder_Olmo_Correa

Nooossa Senhora !
Valeu aí, pablo e Nilson. Estava sem Internet até agora, o Virtua caiu aqui. Enquanto isso refiz o código inteiro, mas apenas mudando o nome da classe para Exemplo0903_2. Minha nossa, funcionou perfeitamente.
Não me contentei, impri os dois arquivos e fui confereindo linha a linha os dois códigos, comparando-os. não notei esse erro de digitação ! Aí fiquei mais doido ainda !

De qualquer forma, muitíssimo obrigado pela presteza dos dois. Qualquer duvidazinha de Física ou matemática é só gritarem, hehehe!!!

Obs1:

O que vocês acham desse livro que estou estudando ? Vocês o conhecem ?
Também tenho o Deitel edição 6 !

Obs2:

Peço a gentileza dos moderadores deletarem o tóico que ficou replicado, não sei o que fiz que crie dois tópicos com o mesmo teor.

Criado 31 de dezembro de 2007
Ultima resposta 31 de dez. de 2007
Respostas 3
Participantes 3