dúvidas na aplicação de ações a JButtons

Ola galera… so novo no forum e na arte de programar em JAVA, estou com dificuldades na hora de add ações a botões, estou fazendo uma calculadora, já fiz toda a parte gráfica da mesma, mas estou com algumas dúvidas na hora de colocar ações nos botões, cmo somar, dividir, etc…

ai vai o código,… desde já agradeço…

package calculadora;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.Window;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.*;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.JViewport;

public class Principal extends JFrame{
public static void main (String[] args) {
new Principal();}
private JTextField visor;
private String valor;
public Principal(){
super(“MARCÃO CALCULATIONS”);
Container cp = getContentPane();
valor = “0”;
visor = new JTextField(valor,12);
visor.setHorizontalAlignment(JTextField.RIGHT);
visor.setFont(new Font(“Dialog”,Font.PLAIN,20));
visor.setEditable(false);
cp.add(visor,BorderLayout.NORTH);
cp.add(criaPainel1(),BorderLayout.CENTER);
cp.add(criaPainel2(),BorderLayout.EAST);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
private JPanel criaPainel1(){
	JPanel panel=new JPanel (new GridLayout(5,3));
	JButton b7=new JButton("7");//Cria o botão b7 e tem como texto 7
	panel.add(b7);
	JButton b8=new JButton("8");//Cria o botão b8 e tem como texto 8
	panel.add(b8);
	JButton b9=new JButton("9");//Cria o botão b9 e tem como texto 9
	panel.add(b9);
	JButton b4=new JButton("4");//Cria o botão b4 e tem como texto 4
	panel.add(b4);
	JButton b5=new JButton("5");//Cria o botão b5 e tem como texto 5
	panel.add(b5);
	JButton b6=new JButton("6");//Cria o botão b6 e tem como texto 6
	panel.add(b6);
	JButton b1=new JButton("1");//Cria o botão b1 e tem como texto 1
	panel.add(b1);
	JButton b2=new JButton("2");//Cria o botão b2 e tem como texto 2
	panel.add(b2);
	JButton b3=new JButton("3");//Cria o botão b3 e tem como texto 3
	panel.add(b3);
	JButton b0=new JButton("0");//Cria o botão b0 e tem como texto 0
	panel.add(b0);
	JButton bC=new JButton("Limpar");//Cria o botão C e tem como texto Limpar
	panel.add(bC);
	JButton bP=new JButton(".");//Cria o botão C e tem como texto Limpar
	panel.add(bP);
	JButton bCi=new JButton("Klique Aqui");//Cria o botão C e tem como texto Limpar
	panel.add(bCi);
	JButton bS=new JButton("Sair");//Cria o botão C e tem como texto Limpar
	panel.add(bS);
	JButton bN=new JButton("Não Klique Aqui");//Cria o botão C e tem como texto Limpar
	panel.add(bN);
	return panel;
}
private JPanel criaPainel2(){
	JPanel panel=new JPanel (new GridLayout(5,1));
	JButton bMais = new JButton("+");//Cria botão de Adição
	panel.add(bMais);
	JButton bMenos = new JButton("-");//Cria botão de Subtração
	panel.add(bMenos);
	JButton bMultiplica = new JButton("*");//Cria botão de Multiplicação
	panel.add(bMultiplica);
	JButton bDivide = new JButton("/");//Cria botão de Divisão
	panel.add(bDivide);
	JButton bCalcula = new JButton("=");//Cria botão de Igualdade
	panel.add(bCalcula);
	return panel;
}

}

Ok… e quais são as dúvidas?

Independente, esse artigo pode vai te ajudar:
http://www.guj.com.br/posts/list/50115.java

Tipo… eu não estou conseguindo fazer as operações funcionarem… quando clico no botão 7 por exemplo, nao mostra nada no visor… e isso acontece com todos os botões…
e com as operações…

como faço as funções para os botões executarem a ação mandada…

obrigado…

Para você executar uma ação, ou seja, disparar um evento de um botão, você precisa criar um listener e adiciná-lo ao botão.
Dá uma lida nessa interface: http://java.sun.com/j2se/1.5.0/docs/api/java/awt/event/ActionListener.html
Ela é um tipo de listener. Você precisa implementá-la e adicioná-la como a tratadora dos eventos do botão. Isso você faz assim:

/* Crie um Listener implementando essa Interface */
ActionListener = ...

JButton button = new JButton("Clique aqui!");
button.addActionListener(listener);

Dessa forma, sempre que esse botão for clicado, o método que você implementou no seu listener será executado.

[]'s.

entaum criei o Actio, mas quando clico no botao sair nao faz nada ainda…

nao estou conseguindo pegar esse método de raciocínio…

alguem pode me ajudar ai, por favor…

No seu listener, você precisa implementar o código do botão.

Após criar b1, tenta fazer:

//Adicionamos um action listener ao botão. //Nosso action listener concatena 1 ao final do visor. b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { visor.setText(visor.getText() + "1"); } });

Dá uma lida nessas páginas para vc entender melhor. Você só vai precisar implementar um listener só para todos os seus botões numéricos, um listener para cada operação (inclusive o enter), etc.

O artigo ensina a usar o recurso efetivamente:
http://java.sun.com/docs/books/tutorial/uiswing/events/intro.html

meu deus q coisa difícil heim…
ainda nao dei conta de fazer isso…

como eu faço para dar a ação ao botão sair, para ele fexar o pograma???

para deixar um botão com a função de fechar a sua aplicação, implemente o seguinte código no método actionPerformed(ActionEvent event):

System.exit(0);

[]'s.