TextField

Tenho um text field e que mostrar nele uma operação entre 2 numeros. So que esses numeros estão em forma de String. Quero mostrar a operação entre eles sem precisar guardar em uma variavel o numero em forma de float! Tava tentando usar o Integer.valeuOf mas da erro.

olha so o que estava fazendo

JTextField jtfResultado;

String numeroS, numero1I;

jtfResultado.setText(String.valueOf(Float.valueOf(numero1I) + Float.valueOf(numeroS)));

Alguma ideia de como fazer?! Obrigado!

[quote=munox]Tenho um text field e que mostrar nele uma operação entre 2 numeros. So que esses numeros estão em forma de String. Quero mostrar a operação entre eles sem precisar guardar em uma variavel o numero em forma de float! Tava tentando usar o Integer.valeuOf mas da erro.

olha so o que estava fazendo

JTextField jtfResultado;

String numeroS, numero1I;

jtfResultado.setText(String.valueOf(Float.valueOf(numero1I) + Float.valueOf(numeroS)));

Alguma ideia de como fazer?! Obrigado![/quote]

Não entendi…vc quer somar dois textFields…é isso ?
E mostrar o resultado no terceiro ?

JTextFieldResultado.setText(String.valueOf(Integer.parseInt(JTextField01.getText()) + Integer.parseInt(JTextField02.getText())));

Testei não , tenta ae…

munox

[quote]
Tenho um text field e que mostrar nele uma operação entre 2 numeros. So que esses numeros estão em forma de String. Quero mostrar a operação entre eles sem precisar guardar em uma variavel o numero em forma de float! Tava tentando usar o Integer.valeuOf mas da erro.

olha so o que estava fazendo

JTextField jtfResultado;

String numeroS, numero1I;

jtfResultado.setText(String.valueOf(Float.valueOf(numero1I) + Float.valueOf(numeroS)));

Alguma ideia de como fazer?! Obrigado! [/quote]

Bom, a declaração dos seus numeroS e numero1I estão em String, “bom acho que isso está certo” mas vamos lá, com isso vc tem que verificar se vc está fazendo com que os numeros esteja recebendo uma String… assim:


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        String num1, num2;
        num1 = "1";
        num2 = "2";
        jTextField1.setText(String.valueOf(Float.valueOf(num1) + Float.valueOf(num2))); 
    }

pelo menos aqui está funcionando igual a como vc disse…

espero ter ajudado :wink:

abracos…

nao deu… fica falando

the operator + is undefined for the argument type(s) java.lang.Float java.lang.Float

q q é esse erro?

[quote=dsfextreme][quote=munox]Tenho um text field e que mostrar nele uma operação entre 2 numeros. So que esses numeros estão em forma de String. Quero mostrar a operação entre eles sem precisar guardar em uma variavel o numero em forma de float! Tava tentando usar o Integer.valeuOf mas da erro.

olha so o que estava fazendo

JTextField jtfResultado;

String numeroS, numero1I;

jtfResultado.setText(String.valueOf(Float.valueOf(numero1I) + Float.valueOf(numeroS)));

Alguma ideia de como fazer?! Obrigado![/quote]

Não entendi…vc quer somar dois textFields…é isso ?
E mostrar o resultado no terceiro ?

JTextFieldResultado.setText(String.valueOf(Integer.parseInt(JTextField01.getText()) + Integer.parseInt(JTextField02.getText())));

Testei não , tenta ae…[/quote]

nao… eu quero pegar 2 valores em String e soma-los (em integer) mas sem precisar guardar em uma variavel… so para mostrar no JTextField

MAPIS WROTE

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
         String num1, num2;
         num1 = "1.7";
         num2 = "2.2";
         jTextField1.setText(String.valueOf(Float.valueOf(num1) + Float.valueOf(num2))); 
     }

esse código funciona??? pq aqui no meus teste ele funcionou do jeito que vc quer…
pelo menos é do jeito que vc disse né!! tenta dar uma olhada novamente nesse código que eu te passei,
e veja se assim funciona para o que vc precisa.

abracos

MAPIS

Nao deu… olha o meu codigo

jbIgual.addActionListener( new ActionListener() { //Quando o botão = é apertado
public void actionPerformed( ActionEvent e )
{

		switch ( x) {

     		    case 0:
     		   jtfResultado.setText(String.valueOf(Float.valueOf(numero1I) + Float.valueOf(numeroS))); 	

numero1I e numeroS sao declarados como String no começo da classe

Aew munox, será que vc poderia passar o codigo mais completo que isso, inclusive com as declarações dos Sting, ahhh se não for pedir muito coloca entre [code] e [ /code], manda ae ok…

valeu…

MAPIS

//importações

import javax.swing.*;		
import java.awt.BorderLayout;
import java.awt.GridLayout;	
import java.awt.event.*;

//inicio do programa

public class Calculadora extends JFrame {	//Classe Calculadora

			JTextField jtfResultado;	//TextField do resultado
	
			JButton jb1,				//Botão 1
					jb2,				//Botão 2
					jb3,				//Botão 3
					jb4,				//Botão 4
					jb5,				//Botão 5
					jb6,				//Botão 6
					jb7,				//Botão 7
					jb8,				//Botão 8
					jb9,				//Botão 9
					jb0,				//Botão 0
					jbIgual,			//Botão =
					jbMais,				//Botão +
					jbMenos,			//Botão -
					jbDividido,			//Botão /
					jbMultiplicado,		//Botão *
					jbPonto,			//Botão .
					jbSair;				//Botão sair
		
			JPanel p1,					//Painel onde aparece o resultado
				   p2;					//Painel com os botões
	
			String numeroS,
			       numero1I;				//Guarda os numeros que o usuário digita
	
			int x;						//Para o switch
	
//Inicio do método Calculadora

	public Calculadora () {	//Método Calculadora (Construtor)
		
//Inicializando as variáveis
		
		numeroS = ""; 
		numero1I = "";
		x = 4;
//		jbSair = new JButton( "Sair");
		jb1 = new JButton( "1" );			//Atribui o valor 1 ao jb1
		jb2 = new JButton( "2" );				
		jb3 = new JButton( "3" );				
		jb4 = new JButton( "4" );				
		jb5 = new JButton( "5" );				
		jb6 = new JButton( "6" );				
		jb7 = new JButton( "7" );				
		jb8 = new JButton( "8" );				
		jb9 = new JButton( "9" );				
		jb0 = new JButton( "0" );				
		jbIgual = new JButton ( "=" );			
		jbMais = new JButton ( "+" );			
		jbMenos = new JButton ( "-" );			
		jbDividido = new JButton ( "/" );		
		jbMultiplicado = new JButton ( "*" );	
		jbPonto = new JButton ( "." );
		jtfResultado = new JTextField ( 10 ); 	//Máximo de caracteres no TextField
		
		p1 = new JPanel(new GridLayout( 1,1 ));	//Divide o frame p1 em (1,1)
	    p2 = new JPanel(new GridLayout( 4,5 ));

		p1.add( jtfResultado );					//Adiciona o jtfResultado no 1º painel
//		p1.add( jbSair);
		
		p2.add( jb7 );							//Adiciona o jb7 ao 2º painel
		p2.add( jb8 );
		p2.add( jb9 );
		p2.add( jbMultiplicado );
		p2.add( jb4 );
		p2.add( jb5 );
		p2.add( jb6 );
		p2.add( jbDividido );
		p2.add( jb1 );
		p2.add( jb2 );
		p2.add( jb3 );
		p2.add( jbMais );
		p2.add( jb0 );
		p2.add( jbIgual );
		p2.add( jbMenos );
		p2.add( jbPonto );
				
		getContentPane().add( p1 );
		getContentPane().add( p2 );
		getContentPane().setLayout( new BorderLayout() );	//Divide o JFrame no estilo BorderLayout
		getContentPane().add( "North",p1 );					//Coloca o p1 ao norte
		getContentPane().add( "South",p2 );					//Coloca o p1 ao sul
		pack();
		setVisible ( true );	//Torna os Paineis visíveis
		jtfResultado.setEditable(false);
		
//Início de eventos
		
		jb0.addActionListener( new ActionListener() {			//Botão 0
			public void actionPerformed( ActionEvent e )
		 	{
				jtfResultado.setText( numeroS = numeroS + "0" );
			
			}
		} );
		
		jb1.addActionListener( new ActionListener() {			//Botão 1
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "1" );

			}
		} );
		
		jb2.addActionListener( new ActionListener() {			//Botão 2
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "2" );

			}
		} );
		
		jb3.addActionListener( new ActionListener() {			//Botão 3
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "3" );

			}
		} );
		
		jb4.addActionListener( new ActionListener() {		//Botão 4
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "4" );

			}
		} );
		
		jb5.addActionListener( new ActionListener() {			//Botão 5
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "5" );

			}
		} );
		
		jb6.addActionListener( new ActionListener() {			//Botão 6
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "6" );

			}
		} );
		
		jb7.addActionListener( new ActionListener() {			//Botão 7
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "7" );

			}
		} );
		
		jb8.addActionListener( new ActionListener() {			//Botão 8
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "8" );

			}
		} );
		
		jb9.addActionListener( new ActionListener() {			//Botão 9
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "9" );

			}
		} );
		
		jbPonto.addActionListener( new ActionListener() {		//Botão 9
			public void actionPerformed( ActionEvent e )
		 	{
				 jtfResultado.setText( numeroS = numeroS + "." );

			}
		} );
		
		/*
		jbSair.addActionListener(
			     new ActionListener() {
			         public void actionPerformed( ActionEvent evt ) {
			             System.exit( 0 );
			         } 
			     }
			 );
		*/
		
//Operações
		
		jbMais.addActionListener( new ActionListener() {			//Quando o botão + é apertado
			public void actionPerformed( ActionEvent e )
			{
				numero1I = numeroS;
				numeroS = "";
				jtfResultado.setText( "0" );
				
				x = 0;								
							
			}	
		});
			
		jbMenos.addActionListener( new ActionListener() {		//Quando o botão - é apertado
			public void actionPerformed( ActionEvent e )
			{
				numero1I = numeroS;
				numeroS = "";
				jtfResultado.setText("0");
			
				x = 1;
							
			}	
		});
		
		jbMultiplicado.addActionListener( new ActionListener() {	//Quando o botão * é apertado
			public void actionPerformed( ActionEvent e )
			{
				numero1I = numeroS;
				numeroS = "";
				jtfResultado.setText( "0" );
				
				x = 2;				
					
			}	
		});
		
		jbDividido.addActionListener( new ActionListener() {		//Quando o botão / é apertado
			public void actionPerformed( ActionEvent e )
			{
				numero1I = numeroS;
				numeroS = "";
				jtfResultado.setText( "0" );
				
				x = 3;
											
			}	
		});
		
		jbIgual.addActionListener( new ActionListener() {		//Quando o botão = é apertado
			public void actionPerformed( ActionEvent e )
			{

			switch ( x) {

         		    case 0:
         		   jtfResultado.setText(String.valueOf(Float.valueOf(numero1I) + Float.valueOf(numeroS))); 	
         		    	
		         	case 1:
         			numero1I = numero1I - Float.parseFloat(numeroS);
         			jtfResultado.setText(String.valueOf (numero1I));
		         	break;
         	
         			case 2:
	         		numero1I = numero1I * Float.parseFloat(numeroS);
        	 		jtfResultado.setText(String.valueOf (numero1I));
         			break;
         	
		         	case 3:
         	 		numero1I = numero1I / Float.parseFloat(numeroS);
         			jtfResultado.setText(String.valueOf (numero1I));
		         	break;

			}	//Fim do switch
		 }	//Fim ActionPerformed
		});	//Fim Igual
		
	}	//Fecha método Calculadora
	
	public static void main(String[] args) {	//Inicio void main
		
		Calculadora j = new Calculadora();		//Chama o método Calculadora da classe Calculadora
				
	}	//Fecha o void main	
	
}		//Fecha Classe Calculadora

		

Coloquei entre o code mas nem sei para que serve uahauhauha Mas ta ai o codigo. A parte que ta dentro do switch nao ta funcionando pq eu tava mexendo nela pra tenta fazer com que funcionasse.

Eu testei assim aqui e funcionou

a e b são String

JTextField1.setText(String.valueOf(Float.parseFloat(a)+Float.parseFloat(b)));

Entao! To estranhando muito isso! Tem que importa alguma coisa para funcionar?

Nesse exemplo que eu passei voce nao precisa importar nada.

munox, eu testei aqui e não achei nenhum erro na linha que vc disse, mas nas outras sim, as que estão abaixo dela… olha aqui

case 1:{
                        numero1I = numero1I - Float.parseFloat(numeroS);
                        jtfResultado.setText(String.valueOf(numero1I));
                        break;
                    }

mas assim:


case 1:{
                        //numero1I = numero1I - Float.parseFloat(numeroS);
                        jtfResultado.setText(String.valueOf(Float.parseFloat(numero1I) - Float.parseFloat(numeroS)));
                        break;
                    }

para todos os outros cases, pq pelo que eu saiba vc não pode subtrair uma String de um Float, não dessa forma, corrijam se eu estiver errado…

voltando, naquela linha está tudo correto… pelo menos aqui no meu NetBeans 5.0

bom eh isso…

abracos

MAPIS

munox, eu testei aqui e não achei nenhum erro na linha que vc disse, mas nas outras sim, as que estão abaixo dela… olha aqui

case 1:{
                        numero1I = numero1I - Float.parseFloat(numeroS);
                        jtfResultado.setText(String.valueOf(numero1I));
                        break;
                    }

mas assim:


case 1:{
                        //numero1I = numero1I - Float.parseFloat(numeroS);
                        jtfResultado.setText(String.valueOf(Float.parseFloat(numero1I) - Float.parseFloat(numeroS)));
                        break;
                    }

para todos os outros cases, pq pelo que eu saiba vc não pode subtrair uma String de um Float, não dessa forma, corrijam se eu estiver errado…

voltando, naquela linha está tudo correto… pelo menos aqui no meu NetBeans 5.0

bom eh isso…

abracos

MAPIS

munox, eu testei aqui e não achei nenhum erro na linha que vc disse, mas nas outras sim, as que estão abaixo dela… olha aqui

case 1:{
                        numero1I = numero1I - Float.parseFloat(numeroS);
                        jtfResultado.setText(String.valueOf(numero1I));
                        break;
                    }

mas assim:


case 1:{
                        //numero1I = numero1I - Float.parseFloat(numeroS);
                        jtfResultado.setText(String.valueOf(Float.parseFloat(numero1I) - Float.parseFloat(numeroS)));
                        break;
                    }

para todos os outros cases, pq pelo que eu saiba vc não pode subtrair uma String de um Float, não dessa forma, corrijam se eu estiver errado…

voltando, naquela linha está tudo correto… pelo menos aqui no meu NetBeans 5.0

bom eh isso…

abracos

MAPIS

Galera desculpe por ter mandado esse monte de msg, travou aqui e aconteceu isso, alguem poderia me dizer como eu deleto essas msg a mais, eu naum sei fazer isso naum

malz ae galera!!!

abracos

MAPIS

isso q to estranhando. to usando o Eclipse e aki fala q ta errado e nao compila de jeito nenhum! mas todo mundo fala q ta funcionando :?

Ah legal, consegui fazer a subtração, mas a adição nao da… estranho!