Calcular area confuso demais

6 respostas
A

olá galere
podem me ajudar, estou meio confuso e não consigo terminar de jeito nenhum,
o objetivo é criar uma caixa com 2 textfields , e fazer a multiplicação
e então no terceito textfield aparecer o resultado
se puderem me ajudar, abraços

import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
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.JPanel;
import javax.swing.JTextField;


public class FrameRetanguloTeste extends FrameRetangulo implements ActionListener {

	
	private JLabel lTitulo;
	private JLabel lBase;
	private JLabel lAltura;
	private JLabel lArea;
	
	private JTextField tBase;
	private JTextField tAltura;
	private JTextField tArea;
	
	private JButton bCalcular;
	
	private JPanel painelTitulo;
	private JPanel painelLabels;
	private JPanel painelTextField;
	private JPanel painelBotao;

	public FrameRetanguloTeste(){
				
		super ("Calcular area do retangulo");
		setBounds(200,200,220,200);
		setLayout(new BorderLayout());
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		lTitulo = new JLabel("Avaliação N2 - A");
		lBase = new JLabel ("Base (CM)   ");
		lAltura = new JLabel("Altura (CM)");
		lArea = new JLabel ("Area");
		
		tBase = new JTextField (10);
		tAltura = new JTextField(10);
		tArea = new JTextField(10);
		
		bCalcular = new JButton ("Calcular Area");
		
		//Titulo no Frame 
		painelTitulo = new JPanel();
		painelTitulo.add(lTitulo,"CENTER");
		add(painelTitulo, "NORTH");
	
		//Adicionando os Labels a esquerda
				painelLabels = new JPanel();
				GridLayout lLabels = new GridLayout(3,0);
				painelLabels.setLayout(lLabels);
				painelLabels.add(lBase);
				painelLabels.add(lAltura);
				painelLabels.add(lArea);
				add(painelLabels,"West");
				
				//Adicionando o botão ao sul
				painelBotao = new JPanel();
				painelBotao.add(bCalcular,"Center");
				add(painelBotao,"South");
				
				//Adicionando os TextField
				painelTextField = new JPanel();
				painelTextField.setLayout(new GridLayout(3,0));
				painelTextField.add(tBase);
				painelTextField.add(tAltura);
				painelTextField.add(tArea);
				add(painelTextField,"Center");
				
				bCalcular.addActionListener(this);
	
	
	}		
			
//Action Listener dos botões
public void actionPerformed(ActionEvent e) 
{
	//Verifica se o botão calcular foi pressionado
	if (e.getSource() == bCalcular)
	{
				
		tArea.setText(Double.toString((area())));
		
	}
	
	
		
		
		
		
	}
	
	
}
public class FrameRetangulo {

	private int base;
	private int altura;
	
	public void setbase(int base){
		this.base = base;
	}
	
	public int getbase(){
		return base;
	}

	public int getAltura() {
		return altura;
	}

	public void setAltura(int altura) {
		this.altura = altura;
	}
	
	public void area(){
		int area  = base*altura;
	}
	
}

abraços, obrigado

6 Respostas

rmendes08

Certo, mas você já entendeu o erro do programa ?

diego.sas

Bom dia.
Fiz algumas alterações para funcionar.
Da uma olhadinha ae.

package br.com.swing;

import java.awt.GridLayout;
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.JPanel;
import javax.swing.JTextField;

public class FrameRetanguloTeste extends FrameRetangulo implements
		ActionListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private JLabel lTitulo;
	private JLabel lBase;
	private JLabel lAltura;
	private JLabel lArea;

	private JTextField tBase;
	private JTextField tAltura;
	private JTextField tArea;

	private JButton bCalcular;

	private JPanel painelTitulo;
	private JPanel painelLabels;
	private JPanel painelTextField;
	private JPanel painelBotao;

	public void mostraGUI() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		lTitulo = new JLabel("Avaliação N2 - A");
		lBase = new JLabel("Base (CM)   ");
		lAltura = new JLabel("Altura (CM)");
		lArea = new JLabel("Area");

		tBase = new JTextField(10);
		tAltura = new JTextField(10);
		tArea = new JTextField(10);

		bCalcular = new JButton("Calcular Area");

		// Titulo no Frame
		painelTitulo = new JPanel();
		painelTitulo.add(lTitulo);
		add(painelTitulo);

		// Adicionando os Labels a esquerda
		painelLabels = new JPanel();
		GridLayout lLabels = new GridLayout(3, 0);
		painelLabels.setLayout(lLabels);
		painelLabels.add(lBase);
		painelLabels.add(lAltura);
		painelLabels.add(lArea);
		add(painelLabels, "West");

		// Adicionando o botão ao sul
		painelBotao = new JPanel();
		painelBotao.add(bCalcular, "Center");
		add(painelBotao, "South");

		// Adicionando os TextField
		painelTextField = new JPanel();
		painelTextField.setLayout(new GridLayout(3, 0));
		painelTextField.add(tBase);
		painelTextField.add(tAltura);
		painelTextField.add(tArea);
		add(painelTextField, "Center");

		bCalcular.addActionListener(this);

		setSize(300, 150);
		setLocation(10, 10);
		setVisible(true);

	}

	// Action Listener dos botões
	public void actionPerformed(ActionEvent e) {
		// Verifica se o botão calcular foi pressionado
		if (e.getSource() == bCalcular) {
			setAltura(Integer.parseInt(tAltura.getText()));
			setBase(Integer.parseInt(tBase.getText()));
			tArea.setText(Double.toString((area())));

		}

	}

	public static void main(String[] args) {
		FrameRetanguloTeste frt = new FrameRetanguloTeste();
		frt.mostraGUI();
	}
}
//**************************************************************************************************************************************//

package br.com.swing;

import javax.swing.JFrame;

public class FrameRetangulo extends JFrame{   
  
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private int base;   
    private int altura; 
    
	public double area(){  
    	double area  = (double)base*altura;
        return area;
    }   
	
    public int getBase() {
		return base;
	}
	public void setBase(int base) {
		this.base = base;
	}
	public int getAltura() {
		return altura;
	}
	public void setAltura(int altura) {
		this.altura = altura;
	}

       
}
rmendes08

Como assim vê se funciona ? Você tá com o código no ambiente, compila e executa! Se não compilar posta o erro, se executar posta o resultado …

diego.sas

"Fiz algumas alterações para funcionar. "

Em momento algum eu respondi vê se funciona, como pode ver acima esta funcionando.

Da uma olhadinha, seria para ele verificar as alterações.

flw

A

cara muito obrigado !
vou estudar aqui… obrigado mesmo
tá certinho resolveu o problema aqui !

diego.sas

Edita seu 1º post e coloca [Resolvido].
Abçs

Criado 27 de outubro de 2011
Ultima resposta 28 de out. de 2011
Respostas 6
Participantes 3