Como programar umas função no botao!?

3 respostas
C
package grafico;

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

public class Calcula extends janela
implements ActionListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JButton bt1, bt2, bt3, bt4;
	double num1, num2, soma;
	double res;

	public Calcula() {
		super("Calcula", new Dimension(400,200));

		bt1 = new JButton("Somar");
		bt2 = new JButton("Dividir");
		bt3 = new JButton("Multiplicar");
		bt4 = new JButton("Subtrair");


		//Eixo X, Eixo y, Comprimento, Altura.
		bt1.setBounds(15, 100, 80, 20);		
		bt2.setBounds(100, 100, 80, 20);
		bt3.setBounds(185, 100, 100, 20);
		bt4.setBounds(290, 100, 80, 20);

		getContentPane().add(bt1);
		getContentPane().add(bt2);
		getContentPane().add(bt3);
		getContentPane().add(bt4);

		bt1.addActionListener(this);		
		bt2.addActionListener(this);
		bt3.addActionListener(this);
		bt4.addActionListener(this);

		JLabel lblNum1;
		lblNum1 = new JLabel ("Numero 1:");
		//Eixo X, Eixo y, Comprimento, Altura.

		lblNum1.setBounds(20 ,10 ,80 ,20 );
		getContentPane() .add(lblNum1);

		JTextField txtNum1 ;
		txtNum1 = new JTextField();
		//Eixo X, Eixo y, Comprimento, Altura.

		txtNum1.setBounds(100, 10, 50, 20 );
		getContentPane() .add(txtNum1);

		JLabel lblNum2;
		lblNum2 = new JLabel ("Numero 2:");
		//Eixo X, Eixo y, Comprimento, Altura.
		lblNum2.setBounds(170 ,10 ,80 ,20 );
		getContentPane() .add(lblNum2);

		JTextField txtNum2 ;
		txtNum2 = new JTextField();
		//Eixo X, Eixo y, Comprimento, Altura.
		txtNum2.setBounds(250, 10, 50, 20 );
		getContentPane() .add(txtNum2);	 

		JLabel lblRes;
		lblRes = new JLabel ("Resultado:");
		//Eixo X, Eixo y, Comprimento, Altura.
		lblRes.setBounds(20 ,60 ,80 ,20 );
		getContentPane() .add(lblRes);

		JTextField txtRes ;
		txtRes = new JTextField();
		//Eixo X, Eixo y, Comprimento, Altura.
		txtRes.setBounds(100, 60, 50, 20 );
		getContentPane() .add(txtRes);	    

	}

	public static void main( String args[] )
	{
		Calcula c ; 
		c = new Calcula();
		c.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e) {

		if (e.getSource() == bt1)
		{
			num1 = Double.valueOf(bt1.getText()).doubleValue(); 
			num2 = Double.valueOf(bt1.getText()).doubleValue(); 
			res = num1+num2;
			lblRes.setText(String.valueOf(soma));
		}
	}

}

Boa Tarde, eu nao consigo programar no botao, alias eu tentei, tentei e nao conseguir, eu nao sei como eu faço para somar o numero digitado nos 2 campos da tela e o exibir o resultado no campo resultado atraves do botao somar, alguem pode me fornecer um auxilio

3 Respostas

von.juliano

num1 = Double.valueOf(bt1.getText()).doubleValue(); num2 = Double.valueOf(bt1.getText()).doubleValue();Você está pegando os valores do texto do botão, deve pegar os valores passados nos JTextFields.

Vê se resolve. Flw! :thumbup:

D

Amigo, vc tem que pegar os valores de txtNum1 e txtNum2, são neles que vem os numeros digitados.

C
package grafico;

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

public class Calcula extends janela
implements ActionListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	JButton bt1, bt2, bt3, bt4;
	Double num1, num2, soma;
	double res;
	JLabel lblRes2;
	JTextField txtNum1 ;
	JTextField txtNum2 ;
	JLabel lblNum1;
	JLabel lblNum2;
	JLabel lblRes;
	JTextField txtRes ;


	public Calcula() {
		super("Calcula", new Dimension(400,200));

		bt1 = new JButton("Somar");
		bt2 = new JButton("Dividir");
		bt3 = new JButton("Multiplicar");
		bt4 = new JButton("Subtrair");


		//Eixo X, Eixo y, Comprimento, Altura.
		bt1.setBounds(15, 100, 80, 20);		
		bt2.setBounds(100, 100, 80, 20);
		bt3.setBounds(185, 100, 100, 20);
		bt4.setBounds(290, 100, 80, 20);

		getContentPane().add(bt1);
		getContentPane().add(bt2);
		getContentPane().add(bt3);
		getContentPane().add(bt4);

		bt1.addActionListener(this);		
		bt2.addActionListener(this);
		bt3.addActionListener(this);
		bt4.addActionListener(this);


		lblNum1 = new JLabel ("Numero 1:");
		//Eixo X, Eixo y, Comprimento, Altura.

		lblNum1.setBounds(20 ,10 ,80 ,20 );
		getContentPane() .add(lblNum1);


		txtNum1 = new JTextField();
		//Eixo X, Eixo y, Comprimento, Altura.

		txtNum1.setBounds(100, 10, 50, 20 );
		getContentPane() .add(txtNum1);


		lblNum2 = new JLabel ("Numero 2:");
		//Eixo X, Eixo y, Comprimento, Altura.
		lblNum2.setBounds(170 ,10 ,80 ,20 );
		getContentPane() .add(lblNum2);


		txtNum2 = new JTextField();
		//Eixo X, Eixo y, Comprimento, Altura.
		txtNum2.setBounds(250, 10, 50, 20 );
		getContentPane() .add(txtNum2);	 


		lblRes = new JLabel ("Resultado:");
		lblRes2 = lblRes;
		//Eixo X, Eixo y, Comprimento, Altura.
		lblRes.setBounds(20 ,60 ,80 ,20 );
		getContentPane() .add(lblRes);


		txtRes = new JTextField();
		//Eixo X, Eixo y, Comprimento, Altura.
		txtRes.setBounds(100, 60, 50, 20 );
		getContentPane() .add(txtRes);	    

	}

	public static void main( String args[] )
	{
		Calcula c ; 
		c = new Calcula();
		c.setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e) {

		if (e.getSource() == bt1)
		{
			num1 = Double.valueOf(txtNum1.getText()).doubleValue(); 
			num2 = Double.valueOf(txtNum2.getText()).doubleValue(); 
			res = num1+num2;			
			txtRes.setText(String.valueOf(res));
		}

		if (e.getSource() == bt2)
		{
			num1 = Double.valueOf(txtNum1.getText()).doubleValue(); 
			num2 = Double.valueOf(txtNum2.getText()).doubleValue(); 
			res = num1/num2;			
			txtRes.setText(String.valueOf(res));
		}
		if (e.getSource() == bt3)
		{
			num1 = Double.valueOf(txtNum1.getText()).doubleValue(); 
			num2 = Double.valueOf(txtNum2.getText()).doubleValue(); 
			res = num1*num2;			
			txtRes.setText(String.valueOf(res));
		}
		if (e.getSource() == bt4)
		{
			num1 = Double.valueOf(txtNum1.getText()).doubleValue(); 
			num2 = Double.valueOf(txtNum2.getText()).doubleValue(); 
			res = num1-num2;			
			txtRes.setText(String.valueOf(res));
		}
	}
}

Valeu GALERA, problema resolvido !

Criado 6 de outubro de 2010
Ultima resposta 7 de out. de 2010
Respostas 3
Participantes 3