JTextField para somar!

4 respostas
felipexavier

galera seguinte, poderiam me ajudar?

Preciso saber como soma os conteudos do TextField sem precisar clicar em qualquer botão.

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

/**
 * Write a description of class JogoLogica here.
 * 
 * @author (Felipe Xavier) 
 * @version (1.0)
 */
public class JogoLogica extends JFrame{

    JTextField tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8, tf9; 
    JTextField tfresp1, tfresp2, tfresp3, tfresp4, tfresp5, tfresp6, tfresp7, tfresp8, tfresp9, tfresp10, tfresp11, tfresp12, tfresp13, tfresp14, tfresp15, tfresp16;
    JPanel pn1, pn2, pn3;
    
    JogoLogica(){
        super("Jogo de Logica");
        
        Container c= getContentPane(); 
        c.setLayout(new GridLayout(1,1));
        pn1 = new JPanel(); 

       
         
        pn1.setLayout(new GridLayout(5,5)); 
       

        tfresp1 = new JTextField(2); tfresp2 = new JTextField(2); tfresp3 = new JTextField(2);tfresp4 = new JTextField(2);tfresp5 = new JTextField(2);
        tfresp16 = new JTextField(2); tf1 = new JTextField (1); tf2 = new JTextField (1); tf3 = new JTextField (1); tfresp6 = new JTextField(2);
        tfresp15 = new JTextField(2); tf4 = new JTextField (1); tf5 = new JTextField (1); tf6 = new JTextField (1); tfresp7 = new JTextField(2);
        tfresp14 = new JTextField(2); tf7 = new JTextField (1); tf8 = new JTextField (1); tf9 = new JTextField (1); tfresp8 = new JTextField(2);
        tfresp13 = new JTextField(2); tfresp12 = new JTextField(2); tfresp11 = new JTextField(2); tfresp10 = new JTextField(2); tfresp9 = new JTextField(2);  
        
        pn1.add(tfresp1);pn1.add(tfresp2);pn1.add(tfresp3);pn1.add(tfresp4);pn1.add(tfresp5);
        pn1.add(tfresp16);pn1.add(tf1); pn1.add(tf2); pn1.add(tf3); pn1.add(tfresp6);
        pn1.add(tfresp15);pn1.add(tf4); pn1.add(tf5); pn1.add(tf6); pn1.add(tfresp7);
        pn1.add(tfresp14);pn1.add(tf7); pn1.add(tf8); pn1.add(tf9); pn1.add(tfresp8);
        pn1.add(tfresp13);pn1.add(tfresp12);pn1.add(tfresp11); pn1.add(tfresp10); pn1.add(tfresp9);
        
        c.add(pn1);
        
        setSize (500,400);
        setVisible(true);

[IMG]http://img864.imageshack.us/img864/7948/imagemptl.jpg[/IMG]

4 Respostas

T

Coloca eventos do tipo FocusLost

tfExemplo.addFocusListener(new java.awt.event.FocusAdapter() { @Override public void focusLost(java.awt.event.FocusEvent evt) { .... } });

felipexavier

como funciona? tem um exemplo ai? tipo tf3= tf1 + tf2

faz essa conta usando para eu ter uma ideia

T

cara Vou te falar uma coisa. Em fóruns normalmente ninguém tira duvidas simples como a sua. Procura no fórum sobre FocusLost!!!
Como estou sem nada para fazer fiz para você, mais não se acostume pois aqui no Guj ninguém faz esse tipo de coisa...

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

/**
 * Write a description of class JogoLogica here.
 *
 * @author (Felipe Xavier)
 * @version (1.0)
 */
public class JogoLogica extends JFrame{

    JTextField tf1, tf2, tf3, tf4, tf5, tf6, tf7, tf8, tf9;
    JTextField tfresp1, tfresp2, tfresp3, tfresp4, tfresp5, tfresp6, tfresp7, tfresp8, tfresp9, tfresp10, tfresp11, tfresp12, tfresp13, tfresp14, tfresp15, tfresp16;
    JPanel pn1, pn2, pn3;

    JogoLogica(){
        super("Jogo de Logica");

        Container c= getContentPane();
        c.setLayout(new GridLayout(1,1));
        pn1 = new JPanel();



        pn1.setLayout(new GridLayout(5,5));


        tfresp1 = new JTextField(2); tfresp2 = new JTextField(2); tfresp3 = new JTextField(2);tfresp4 = new JTextField(2);tfresp5 = new JTextField(2);
        tfresp16 = new JTextField(2); tf1 = new JTextField (1); tf2 = new JTextField (1); tf3 = new JTextField (1); tfresp6 = new JTextField(2);
        tfresp15 = new JTextField(2); tf4 = new JTextField (1); tf5 = new JTextField (1); tf6 = new JTextField (1); tfresp7 = new JTextField(2);
        tfresp14 = new JTextField(2); tf7 = new JTextField (1); tf8 = new JTextField (1); tf9 = new JTextField (1); tfresp8 = new JTextField(2);
        tfresp13 = new JTextField(2); tfresp12 = new JTextField(2); tfresp11 = new JTextField(2); tfresp10 = new JTextField(2); tfresp9 = new JTextField(2);

        pn1.add(tfresp1);pn1.add(tfresp2);pn1.add(tfresp3);pn1.add(tfresp4);pn1.add(tfresp5);
        pn1.add(tfresp16);pn1.add(tf1); pn1.add(tf2); pn1.add(tf3); pn1.add(tfresp6);
        pn1.add(tfresp15);pn1.add(tf4); pn1.add(tf5); pn1.add(tf6); pn1.add(tfresp7);
        pn1.add(tfresp14);pn1.add(tf7); pn1.add(tf8); pn1.add(tf9); pn1.add(tfresp8);
        pn1.add(tfresp13);pn1.add(tfresp12);pn1.add(tfresp11); pn1.add(tfresp10); pn1.add(tfresp9);

        c.add(pn1);

        setSize (500,400);

     tf3.addFocusListener(new java.awt.event.FocusAdapter() {
            @Override
            public void focusLost(java.awt.event.FocusEvent evt) {
               int valor1 = Integer.parseInt(tf1.getText());
               int valor2 = Integer.parseInt(tf2.getText());
               int valor3 = Integer.parseInt(tf3.getText());
               tfresp6.setText(String.valueOf(valor1 + valor2 + valor3));
             }
         });
    }



    public static void main(String args[]){
       JFrame tela = new JogoLogica();
       tela.setVisible(true);

    }
}
felipexavier

vlw -

ta é duvida simples, mas é duvida, eu não sei ><
vlw mesmo.

e como eu faço para colocar um valor em 1 das caixas de texto que aparece, so em 1, no caso a tf5

Criado 25 de março de 2011
Ultima resposta 25 de mar. de 2011
Respostas 4
Participantes 2