Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wellington Silvério

Problemas com ActionListener

Recommended Posts

Bom Dia , estou tentando fazer uma aplicação que me mostre a ação do Botão(JButton);

 

Porém ele não compila aparentemente diz que não exixte a classe que faz o ActionListener

 

 


import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionListener;
public class formulario
{// Begin da classe

JFrame janela;

JLabel jnome;
JLabel jendereco;
JLabel jtelefone;
JLabel jemail;

JTextField jtnome;
JTextField jtendereco;
JTextField jttelefone;
JTextField jtemail;

JButton salvar;
JButton editar;

  formulario ()
    {
    }

      public void fazForm()
{
// Propriedades do Formulário
      janela = new JFrame() ;
      janela.setTitle("Formulario");
      janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      janela.setLayout(null) ;
      janela.setBounds(100,100,300,200);

// Botões
      salvar = new JButton("Salvar");
      salvar.setBounds(10,120,90,15);
      janela.add(salvar);

      editar = new JButton("Editar");
      janela.add(editar);



// Labels
      jnome = new JLabel("Nome");
      jnome.setBounds(10,20,50,15);
      janela.add(jnome);

      jendereco = new JLabel("Endereço");
      jendereco.setBounds(10,40,80,15);
      janela.add(jendereco);

      jemail = new JLabel("E-mail");
      jemail.setBounds(10,60,50,15);
      janela.add(jemail);

      jtelefone = new JLabel("Telefone");
      jtelefone.setBounds(10,80,50,15);
      janela.add(jtelefone);

 // Fields

      jtnome = new JTextField();
      jtnome.setBounds(80,20,120,20);  // Set Bounds (coordenada x , coordenada y , tamanho x , tamanho y)
      janela.add(jtnome);

      jtendereco = new JTextField();
      jtendereco.setBounds(80,40,120,20);  // Set Bounds (coordenada x , coordenada y , tamanho x , tamanho y)
      janela.add(jtendereco);

      jttelefone = new JTextField();
      jttelefone.setBounds(80,60,120,20);  // Set Bounds (coordenada x , coordenada y , tamanho x , tamanho y)
      janela.add(jttelefone);

      jtemail = new JTextField();
      jtemail.setBounds(80,80,120,20);  // Set Bounds (coordenada x , coordenada y , tamanho x , tamanho y)
      janela.add(jtemail);

      // visualizar
      janela.setVisible(true);

}// end do faztextfield

// ao clicar

editar.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent e){
            System.out.println("O Botão Funcionou");//executa o metodo mostraNome() da classe BD que ja foi instanciada antes.
       }
}
);
public static void main(String[] args)
    {

    formulario teste = new formulario();

    teste.fazForm();

    }

  }// end da classe



 

Peço Ajuda Pelo Amor de Deus....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porém ele não compila aparentemente diz que não exixte a classe que faz o ActionListener

 

Amigo,

 

1. Nomes de classes, por convenção, iniciam-se em maiúsculo:

 

Antes:

formulario.java

 public class formulario

Depois:

Formulario.java

 public class Formulario

2. Procure um IDE que lhe ajude na indentação, se o código estivesse bem indentado, você teria facilmente visto o erro.

}// end do faztextfield

O código corrigido:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

public class Formulario {// Begin da classe

	public static void main( String[] args ) {

		final Formulario teste = new Formulario(); //Isso é feio !!!

		teste.fazForm();

	}

	JFrame janela;
	JLabel jnome;
	JLabel jendereco;
	JLabel jtelefone;

	JLabel jemail;
	JTextField jtnome;
	JTextField jtendereco;
	JTextField jttelefone;

	JTextField jtemail;
	JButton salvar;

	JButton editar;

	Formulario ()
	{
	}

	public void fazForm() {
		// Propriedades do Formulário
		janela = new JFrame();
		janela.setTitle( "Formulario" );
		janela.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		janela.setLayout( null );
		janela.setBounds( 100 , 100 , 300 , 200 );

		// Botões
		salvar = new JButton( "Salvar" );
		salvar.setBounds( 10 , 120 , 90 , 15 );
		janela.add( salvar );

		editar = new JButton( "Editar" );
		janela.add( editar );

		// Labels
		jnome = new JLabel( "Nome" );
		jnome.setBounds( 10 , 20 , 50 , 15 );
		janela.add( jnome );

		jendereco = new JLabel( "Endereço" );
		jendereco.setBounds( 10 , 40 , 80 , 15 );
		janela.add( jendereco );

		jemail = new JLabel( "E-mail" );
		jemail.setBounds( 10 , 60 , 50 , 15 );
		janela.add( jemail );

		jtelefone = new JLabel( "Telefone" );
		jtelefone.setBounds( 10 , 80 , 50 , 15 );
		janela.add( jtelefone );

		// Fields

		jtnome = new JTextField();
		jtnome.setBounds( 80 , 20 , 120 , 20 ); // Set Bounds (coordenada x ,
												// coordenada y , tamanho x ,
												// tamanho y)
		janela.add( jtnome );

		jtendereco = new JTextField();
		jtendereco.setBounds( 80 , 40 , 120 , 20 ); // Set Bounds (coordenada x
													// , coordenada y , tamanho
													// x , tamanho y)
		janela.add( jtendereco );

		jttelefone = new JTextField();
		jttelefone.setBounds( 80 , 60 , 120 , 20 ); // Set Bounds (coordenada x
													// , coordenada y , tamanho
													// x , tamanho y)
		janela.add( jttelefone );

		jtemail = new JTextField();
		jtemail.setBounds( 80 , 80 , 120 , 20 ); // Set Bounds (coordenada x ,
												 // coordenada y , tamanho x ,
												 // tamanho y)
		janela.add( jtemail );

		// visualizar
		janela.setVisible( true );

		// end do faztextfield

		// ao clicar

		editar.addActionListener( new ActionListener() {
			@Override
			public void actionPerformed( ActionEvent e ) {
				System.out.println( "O Botão Funcionou" );// executa o metodo mostraNome() da classe BD que ja foi instanciada antes.
			}
		} );
	}

}// end da classe

PS: Não esqueça do @Override

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.