Calculadora simples

Galera estava tentando fazer uma calculadora simples de q mede a quantidade de litros num aguario mas quando aperto o botão ele não exibe a resposta na jlabel…

public class Principal {
	
	public JFrame frame;
	public float comp, alt, larg, result;
	public JLabel text_comp, text_alt, text_larg;
	public JLabel text_result= new JLabel();
	public JTextField entrada_comp = new JTextField();
	public JTextField entrada_alt = new JTextField();
	public JTextField entrada_larg = new JTextField();;
	public JButton BTN_calcular;
	public float r;
	
	
	public Principal() {
		janela();
	}
	
	public void janela() {
		frame = new JFrame("Cal_L");
		componentes();
		frame.setSize(350,300);
		frame.setLocationRelativeTo(null);
		frame.setLayout(null);
		frame.setVisible(true);
		
	}
	
	public void componentes() {
		
		this.text_comp = new JLabel();
		this.text_comp.setBounds(14, 25, 120, 30);
		this.text_comp.setText("COMPRIMENTO");
		this.frame.add(text_comp);
		
		this.entrada_comp.setBounds(27, 50, 60, 30);
		this.frame.add(entrada_comp);
		//
		this.text_alt = new JLabel();
		this.text_alt.setBounds(150, 25, 120, 30);
		this.text_alt.setText("ALTURA");
		this.frame.add(text_alt);
		
		this.entrada_alt.setBounds(143, 50, 60, 30);
		this.frame.add(entrada_alt);
		//
		this.text_larg = new JLabel();
		this.text_larg.setBounds(255, 25, 120, 30);
		this.text_larg.setText("LARGURA");
		this.frame.add(text_larg);
		
		this.entrada_larg.setBounds(252, 50, 60, 30);
		this.frame.add(entrada_larg);
		//
		this.BTN_calcular = new JButton("Calcular");
		this.BTN_calcular.setBounds(120,120,100,50);
		
		BTN_calcular.addActionListener(new ActionListener() {
			
			@Override
			public void actionPerformed(ActionEvent e) {
				
				calculos();
			}
		});
		
		this.frame.add(BTN_calcular);
	
	}

	public void calculos() {
		this.comp = Float.parseFloat(entrada_comp.getText());
		this.larg = Float.parseFloat(entrada_larg.getText());
		this.alt = Float.parseFloat(entrada_alt.getText());
		
		r = (comp*larg*alt)/1000;
		
		text_result.setText(""+r);
		text_result.setBounds(150,180,100,50);
		frame.add(text_result);
		
	}
	
	public static void main(String[] args) {
			
		Principal p = new Principal();
		
	}

}

Retira o trecho abaixo do método calculos() e coloca ele dentro do método componentes() junto com os outros.

text_result.setBounds(150, 180, 100, 50);
frame.add(text_result);

Dentro do método calculos() deixa só o text_result.setText(""+r);. Não sei explicar o por quê, mas eu fiz isso e funcionou :sweat_smile:

1 curtida

Valew obrigado!

1 curtida