Atribuir funçao ao Botao

eu criei um programa e gostaria de saber como eu façoo pra atribuir uma funçao a um botao dentro de uma frame.
eu fiz a frame fiz o botao mas naum sei qual sintaxe usar para fazer isso…Agradeço aos q puderem me ajudar!!!

Vc precisará de um evento de mouse no botão.
Importe a classe ActionEvent e ActionListener. Ai, lá nu seu botão, coloque:

botao.addActionListener(
          new ActionListener()
          { 
               public void actionPerformed(ActionEvent qlqcoisa)
               {
                    //o que voce quer que o botao faça
                }
          }
);

[]'s

http://www.guj.com.br/posts/list/31723.java

da uma olhada nesse tópico, e vê se encontra alguma dúvida…

Até!

entendi a sintaxe mas naum consigo implementar ela no meu programa vou postar meu codigo c alguem puder ajudar agradeço!!!

import javax.swing.;
import java.util.
;
import java.awt.;
import java.awt.event.
;
import java.awt.event.ActionListener;

public class DadosClientes3
{
//entrada dialog recebe String
static String entrada(String msg)
{
String a;
a = JOptionPane.showInputDialog(msg);

	return a;
}
//entrada dialog recebe Float	
static Float entrada2(String msg)
{
	String d;
	float c;
	d = JOptionPane.showInputDialog(msg);
	try
	{
	c = Float.parseFloat(d);
	}
	catch(NumberFormatException tryInt)
	{
		JOptionPane.showMessageDialog(null,"Valor invalido","ERRO",JOptionPane.ERROR_MESSAGE);
		c = 0;
	}
	return c;
}
//entrada dialog recebe Int
static int entrada3(String msg)
{
	String e;
	int f;
	e = JOptionPane.showInputDialog(msg);
	try
	{
	f = Integer.parseInt(e);
	}
	catch(NumberFormatException tryInt)
	{
		JOptionPane.showMessageDialog(null,"Valor Invalido","ERRO",JOptionPane.ERROR_MESSAGE);
		f = 0;
	}
	return f;
}
	public static void main(String args[])
	{
		//apresenta o programa
		System.out.println("Produzido por AlexandreLTD");
		System.out.println("Aguarde...");
		//
		//entrada de valores
		float  Valor       = 0;
		int    Qloop       = 0;
		int    Quantidade  = 0;
		int    QPessoa     = 0;
		String Nome        ="";
		String recebe      =""; 
		String recebe2     ="";
		Vector nome        = new Vector();
		Vector valor       = new Vector();
		Vector quantidade  = new Vector();
		//
		//o usuario escolhe quantas vezes o programa vai rodar
		Qloop = entrada3("Digite o numero de clientes: ");
		//
		//loop1
		for(QPessoa = 0; QPessoa < Qloop; QPessoa++)
		{
			//entrada de dados
			Nome       = entrada ("Entre com o nome ou o codigo da pessoa: ");
			nome.add(Nome);
			Valor      = entrada2("Entre com o valor da compra: ");	
			valor.add(Valor);
			Quantidade = entrada3("Entre com a quantidade: ");
			quantidade.add(Quantidade);
		}
		//
		//cria a Frame e a Box
		//
		JFrame    Frame  = new JFrame("Lista de Clientes");
		Box       box    = Box.createHorizontalBox();
		JTextArea TA     = new JTextArea("",15,15);
		JButton   BSair  = new JButton("Exit");
	    //Frame
		Frame.getContentPane().add(box);
		Frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
	    //box
		box.add(new JScrollPane(TA));
		box.add(BSair);
		//TextArea
		TA.setBackground(Color.blue);
		TA.setForeground(Color.white);
		TA.setEditable(false);
		//frame
		Frame.setSize(572,370);
		Frame.setVisible(true);
		//
		//cria a frame2 e a box2
		//
		JFrame    Frame2 = new JFrame("Area de ediçao");
		Box       box2   = Box.createHorizontalBox();
		JTextArea TA2    = new JTextArea("",10,15);
		JButton   BSair2 = new JButton("Exit");
		//Frame
		Frame2.getContentPane().add(box2);
	    Frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
		Frame2.setBounds(300,300,100,100);
		//box
		box2.add(new JScrollPane(TA2));
		box2.add(BSair2);
		//TextArea
		TA2.setBackground(Color.blue);
		TA2.setForeground(Color.white);
		TA2.setEditable(true);
		//Frame
		Frame2.setSize(572,370);
		Frame2.setVisible(true);
		//
		//loop2
		for(int y = 0; y < Qloop; y++)
		{
			if ((nome == null) || (quantidade == null) || (valor == null))
			{
				System.exit(0);
			}
			recebe = TA.getText()+"Nº"+(y+1)+"\nNome do cliente: "+nome.elementAt(y)+"\nValor da compra: "+valor.elementAt(y)+"\nQuantidade comprada: "+quantidade.elementAt(y)+"\n\n";
	  		recebe2= "Faça a correção nessa area:\n";
			TA.setText(recebe);
			TA2.setText(recebe2);
		}
			//saida
			System.out.println("End Of Program!");
	}	

}

posta o código com as tags de “code” né =S

da pra ti fazer algo do tipo:

BSair.addActionListener(this);

colocor um método novo na sua classe

        public void actionPerformed(ActionEvent e) {
               if( e.getSource() == BSair ) {
                         //acao
                           
                } 
          }

e não se esqueça de dar import nessas classes:

 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;

e uma dica… não coloque nome de variaveis com a primeira letra maiuscula como “BSair”… primeira letra maiuscula se usa mais para nome de Classes… =]

até!

no valeu pela dica vo tenta implementar isso aqui! valeu mesmo!@!!! :smiley:

Se estiveres a usar um IDE como o netbeans torna tudo mais fácil, porque basta com o botao do lado direito do rato clicar em cima do botao ir a eventos e activar o ACTION por exempo. Deixo aqui o exemplo de um código de um JButton que chama outra JFrame do programa

  private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
           NomeDoFrame frm = new NomeDoFrame();
           frm.setVisible(true);
 }

ja tentei implementar essas linhas de codigos mas naum consigo acertar na sintaxe o q esta errado nesse programa alguem me ajude!!!por favor!!!

[quote]/*Programa feito em
*06/12/2006
*pelo aluno de
*Engenharia de Software 1º periodo (UNATEC)
*Alexandre de Almeida Oliveira
*esse programa recebe valor quantidade e nome de compra e de cliente enumera e imprimi
*os valores na ordem dentro de uma frame
**/

import javax.swing.;
import java.util.
;
import java.awt.;
import java.awt.event.
;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class DadosClientes4 implements ActionListener
{
//Entrada dialog recebe String
static String entrada(String msg)
{
String a;
a = JOptionPane.showInputDialog(msg);

	return a;
}
//Entrada dialog recebe Float	
static Float entrada2(String msg)
{
	String d;
	float c;
	d = JOptionPane.showInputDialog(msg);
	try
	{
	c = Float.parseFloat(d);
	}
	catch(NumberFormatException tryInt)
	{
		JOptionPane.showMessageDialog(null,"Valor invalido","ERRO",JOptionPane.ERROR_MESSAGE);
		c = 0;
	}
	return c;
}
//Entrada dialog recebe Int
static int entrada3(String msg)
{
	String e;
	int f;
	e = JOptionPane.showInputDialog(msg);
	try
	{
	f = Integer.parseInt(e);
	}
	catch(NumberFormatException tryInt)
	{
		JOptionPane.showMessageDialog(null,"Valor Invalido","ERRO",JOptionPane.ERROR_MESSAGE);
		f = 0;
	}
	return f;
}
	public static void main(String args[])
	{
		//Apresenta o programa
		System.out.println("Produzido por AlexandreLTD");
		System.out.println("Aguarde...");
		//
		//Entrada de valores
		float  Valor       = 0;
		int    Qloop       = 0;
		int    Quantidade  = 0;
		int    QPessoa     = 0;
		String Nome        ="";
		String recebe      =""; 
		String recebe2     ="";
		Vector nome        = new Vector();
		Vector valor       = new Vector();
		Vector quantidade  = new Vector();
		//
		//O usuario escolhe quantas vezes o programa vai rodar
		Qloop = entrada3("Digite o numero de clientes: ");
		//
		//Loop1
		for(QPessoa = 0; QPessoa < Qloop; QPessoa++)
		{
			//Entrada de dados
			Nome       = entrada ("Entre com o nome ou o codigo da pessoa: ");
			nome.add(Nome);
			Valor      = entrada2("Entre com o valor da compra: ");	
			valor.add(Valor);
			Quantidade = entrada3("Entre com a quantidade: ");
			quantidade.add(Quantidade);
		}
		//
		//Cria a Frame e a Box
		//
		JFrame.setDefaultLookAndFeelDecorated(true);
		JFrame    Frame    = new JFrame("Lista de Clientes");	
		Box       box      = Box.createVerticalBox();
		JTextArea TA       = new JTextArea("",15,15);
		JButton   BSair    = new JButton("Exit");
		JButton   Correcao = new JButton("Corrigir");
	    //Frame
		Frame.getContentPane().add(box);
		Frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
	    //Box
		box.add(new JScrollPane(TA));
		box.add(BSair);
		box.add(Correcao);
		Correcao.addActionListener(this);
		BSair.addActionListener(this);
		//TextArea
		TA.setBackground(Color.blue);
		TA.setForeground(Color.white);
		TA.setEditable(false);
		//Frame
		Frame.setSize(572,370);
		Frame.setVisible(true);
		//
		//Cria a frame2 e a box2
		//
		JFrame    Frame2 = new JFrame("Area de ediçao");
		Box       box2   = Box.createVerticalBox();
		JTextArea TA2    = new JTextArea("",10,15);
		JButton   BSair2 = new JButton("Exit");
		//Frame
		Frame2.getContentPane().add(box2);
	    Frame2.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
		Frame2.setBounds(300,300,100,100);
		//Box
		box2.add(new JScrollPane(TA2));
		box2.add(BSair2);
		//TextArea
		TA2.setBackground(Color.blue);
		TA2.setForeground(Color.white);
		TA2.setEditable(true);
		//Frame
		Frame2.setSize(572,370);
		Frame2.setVisible(true);
		//
		//Loop2
		for(int y = 0; y < Qloop; y++)
		{
			if ((nome == null) || (quantidade == null) || (valor == null))
			{
				System.exit(0);
			}
			recebe = TA.getText()+"Nº"+(y+1)+"\nNome do cliente: "+nome.elementAt(y)+"\nValor da compra: "+valor.elementAt(y)+"\nQuantidade comprada: "+quantidade.elementAt(y)+"\n\n";
	  		recebe2= "Faça a correção nessa area:\n";
			TA.setText(recebe);
			TA2.setText(recebe2);
		}		
			//Saida
			System.out.println("End Of Program!");	
	}

}

poderia dizer qual o Erro?

eu criei os botoes mas num consego usar eles. tipo temo botao de saida mas c vc aperta ele ele num sai tipo num tem funcao nenhuma! ta dificil de implementar essa funcao!! :cry:

claro… você não adicionou nenhum ActionListener nos botões…

você tem que colocar algo desse tipo:

[code]public void actionPerformed(ActionEvent e) {
if( e.getSource() == BSair ) {
//acao

             } 
       }

[/code]

e no seu Jbutton, dar um seuJButton.addActionListener(this);

www.java2s.com tem uns exemplos legais lá… da uma procurada, aih compara o seu com algum que tenha lá… até!