Inserindo dados pelo teclado

11 respostas
Rodrigo_Justicar

[b]
IaEw!!

Pow, eu tô com uma dúvida e não tenho idéia d como vou fazer isso.

Eu tô desenvolvendo uma calculadora usando swing, ela já tá bem bunitinha :roll:,
todos os botões dela funcionam direitinho.

Mas agora eu quero inserir os dados pelo teclado, que nem a calculadora do windos. Na calculadora do windows vc pode inserir os dados clicando nos botões ou digitando pelo teclado.

q tipo d evento eu tenho q usar?
como q eu faço pra saber q botão o usuário digitou?

me ajudem plz
[/b]

11 Respostas

E

Isso depende de como sua calculadora foi desenvolvida. Por exemplo…
ela vai usar método polonês (como nas HP’s que a gente usa[va] na faculdade) …

Como você que que ela funcione?

Flw

Rodrigo_Justicar

[b]
pow cara,
eu quero q o usuário aperte, por exemplo, o botão 6 do teclado ai apareça no jTextField o número 6.

q nem a calculadora do windows pow.

mas eu não quero q seja necessário o usuário clicar no jTextField. Não quero q fique um cursor piscando no jTextField.

quero q o usuário simplismente aperte o botão, 5 por exemplo, e apareça no jTextField o numero 5.

entendeu?

como eu posso fazer isso? eu ainda não tenho idéia d como fazer isso.
[/b]

E

Não sei… mas vamos lá! você vai precisar de uma variável para guardar os valores inseridos no JTextField (como em uma calc windows). Cada Botão (JButton) deve ser um ActionListener para pegar seu valor e operar ou guardar com um anterior. Ahhhh!!!

Mais ou menos assim oh!

somaButton.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent evt) {

// pega o valor da sua textField transforma em um tipo int

// e adiciona a sua variável temporária…

// entendeu?
}
}

);

E

Sei… tem várias maneiras de fezer isso! Você pode simplesmente criar uma classe que extende JButton para que cada botão seu tem um valor, ação. Ou simplesmente uma ação para cada botão (de números, por exemplo) para colocar o valor no JTextField…

não muda nada… se liga em Orientação a Objetos… que você simplesmente faz isso numa moleza só… mas aí tem que pensar né!!!

Aqui seria no esquema de código botão a botão… action to action

buttonFive.addActionListener(

new ActionListener() {

public void actionPerformed(ActionEvent evt) {

// guarda o valor respectivo do botão

// na variável temporária…

}

}

);

O mais importante nesse tipo de projeto é: COMO FUNCIONA UMA CALCULADORA.

Flw

Rodrigo_Justicar

[b]
pow cara, brigadão pela ajuda, mas como assim?

como o meu programa vai saber qual botão do teclado o usuário apertou?
[/b]

E

Cada botão seu vai ter uma Action correspondendente. Ou precisamente um ActionListener correspondente.

Se quiser para começar programe action por action de seus botões… até fazer seu calc funcionar.

Não desanime: programar calculadoras já foi tema de muitas maratonas de programação.

Flw

Rodrigo_Justicar

[b]
Cara, essa calculadora é uma das coisas q eu mais quero fazer no momento. :smiley:

vou continuar tentando aqui, ai eu posto aqui.

faloW!!
[/b]

C

Cara, realmente eu não sei como fazer isso…
eu sei a ideia… mas como fazer isso em java também gostaria de saber!!!

deve ter um evento no jFrame que fica rodando direto aí da pra tentar ler a tecla… aí é só joga nos métodos de controle dos botões… mas e como fazer isso agora é ouuutraa coisa =P

P

Veío eu fiz esse trecho dé código rapidinho e acho que já vai te dar uma mão na roda, seguinte todos os botoões já estão com os métodos actionPerformed só falta a implementação e o textfield já está com o keyPressed que só falta implementação também. Olha isso já é mais que a metade qualquer dúvida é postar aí que a gente está aqui na área.

package appearance;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.GridBagLayout;
import javax.swing.JTextField;
import java.awt.GridBagConstraints;
import javax.swing.JButton;

public class Calculadora extends JFrame {

    private JPanel jContentPane = null;
    private JTextField jTextField = null;
    private JButton jButton = null;
    private JButton jButton1 = null;
    private JButton jButton2 = null;
    private JButton jButton3 = null;
    private JButton jButton4 = null;
    private JButton jButton5 = null;
    private JButton jButton6 = null;
    private JButton jButton7 = null;
    private JButton jButton8 = null;
    private JButton jButton9 = null;
    private JButton jButton10 = null;
    private JButton jButton11 = null;
    private JButton jButton12 = null;
    private JButton jButton13 = null;
    private JButton jButton14 = null;
    private JButton jButton15 = null;
    private JButton jButton16 = null;
    /**
     * This is the default constructor
     */
    public Calculadora() {
        super();
        initialize();
    }

    /**
     * This method initializes this
     *
     * @return void
     */
    private void initialize(){
        this.setSize(316, 339);
        this.setContentPane(getJContentPane());
        this.setTitle("JFrame");
    }

    /**
     * This method initializes jContentPane
     *
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane(){
        if ( jContentPane == null ){
            GridBagConstraints gridBagConstraints17 = new GridBagConstraints();
            gridBagConstraints17.gridx = 0;
            gridBagConstraints17.gridwidth = 4;
            gridBagConstraints17.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints17.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints17.gridy = 5;
            GridBagConstraints gridBagConstraints16 = new GridBagConstraints();
            gridBagConstraints16.gridx = 2;
            gridBagConstraints16.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints16.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints16.gridy = 4;
            GridBagConstraints gridBagConstraints15 = new GridBagConstraints();
            gridBagConstraints15.gridx = 1;
            gridBagConstraints15.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints15.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints15.gridy = 4;
            GridBagConstraints gridBagConstraints14 = new GridBagConstraints();
            gridBagConstraints14.gridx = 3;
            gridBagConstraints14.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints14.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints14.gridy = 4;
            GridBagConstraints gridBagConstraints13 = new GridBagConstraints();
            gridBagConstraints13.gridx = 3;
            gridBagConstraints13.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints13.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints13.gridy = 3;
            GridBagConstraints gridBagConstraints12 = new GridBagConstraints();
            gridBagConstraints12.gridx = 3;
            gridBagConstraints12.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints12.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints12.gridy = 2;
            GridBagConstraints gridBagConstraints11 = new GridBagConstraints();
            gridBagConstraints11.gridx = 3;
            gridBagConstraints11.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints11.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints11.gridy = 1;
            GridBagConstraints gridBagConstraints10 = new GridBagConstraints();
            gridBagConstraints10.gridx = 0;
            gridBagConstraints10.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints10.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints10.gridy = 4;
            GridBagConstraints gridBagConstraints9 = new GridBagConstraints();
            gridBagConstraints9.gridx = 2;
            gridBagConstraints9.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints9.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints9.gridy = 3;
            GridBagConstraints gridBagConstraints8 = new GridBagConstraints();
            gridBagConstraints8.gridx = 1;
            gridBagConstraints8.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints8.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints8.gridy = 3;
            GridBagConstraints gridBagConstraints7 = new GridBagConstraints();
            gridBagConstraints7.gridx = 0;
            gridBagConstraints7.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints7.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints7.gridy = 3;
            GridBagConstraints gridBagConstraints6 = new GridBagConstraints();
            gridBagConstraints6.gridx = 2;
            gridBagConstraints6.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints6.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints6.gridy = 2;
            GridBagConstraints gridBagConstraints5 = new GridBagConstraints();
            gridBagConstraints5.gridx = 1;
            gridBagConstraints5.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints5.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints5.gridy = 2;
            GridBagConstraints gridBagConstraints4 = new GridBagConstraints();
            gridBagConstraints4.gridx = 0;
            gridBagConstraints4.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints4.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints4.gridy = 2;
            GridBagConstraints gridBagConstraints3 = new GridBagConstraints();
            gridBagConstraints3.gridx = 2;
            gridBagConstraints3.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints3.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints3.gridy = 1;
            GridBagConstraints gridBagConstraints2 = new GridBagConstraints();
            gridBagConstraints2.gridx = 1;
            gridBagConstraints2.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints2.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints2.gridy = 1;
            GridBagConstraints gridBagConstraints1 = new GridBagConstraints();
            gridBagConstraints1.gridx = 0;
            gridBagConstraints1.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints1.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints1.gridy = 1;
            GridBagConstraints gridBagConstraints = new GridBagConstraints();
            gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
            gridBagConstraints.gridy = 0;
            gridBagConstraints.weightx = 0.0;
            gridBagConstraints.gridwidth = 4;
            gridBagConstraints.insets = new java.awt.Insets(10,10,10,10);
            gridBagConstraints.gridx = 0;
            jContentPane = new JPanel();
            jContentPane.setLayout(new GridBagLayout());
            jContentPane.add(getJTextField(), gridBagConstraints);
            jContentPane.add(getJButton(), gridBagConstraints1);
            jContentPane.add(getJButton1(), gridBagConstraints2);
            jContentPane.add(getJButton2(), gridBagConstraints3);
            jContentPane.add(getJButton3(), gridBagConstraints4);
            jContentPane.add(getJButton4(), gridBagConstraints5);
            jContentPane.add(getJButton5(), gridBagConstraints6);
            jContentPane.add(getJButton6(), gridBagConstraints7);
            jContentPane.add(getJButton7(), gridBagConstraints8);
            jContentPane.add(getJButton8(), gridBagConstraints9);
            jContentPane.add(getJButton9(), gridBagConstraints10);
            jContentPane.add(getJButton10(), gridBagConstraints11);
            jContentPane.add(getJButton11(), gridBagConstraints12);
            jContentPane.add(getJButton12(), gridBagConstraints13);
            jContentPane.add(getJButton13(), gridBagConstraints14);
            jContentPane.add(getJButton14(), gridBagConstraints15);
            jContentPane.add(getJButton15(), gridBagConstraints16);
            jContentPane.add(getJButton16(), gridBagConstraints17);
        }
        return jContentPane;
    }

    /**
     * This method initializes jTextField
     *
     * @return javax.swing.JTextField
     */
    private JTextField getJTextField(){
        if ( jTextField == null ){
            jTextField = new JTextField();
            jTextField.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyPressed( java.awt.event.KeyEvent e ){
                    System.out.println("keyPressed()"); // TODO Auto-generated Event stub keyPressed()
                }
            });
        }
        return jTextField;
    }

    /**
     * This method initializes jButton
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton(){
        if ( jButton == null ){
            jButton = new JButton();
            jButton.setText("1");
            jButton.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton;
    }

    /**
     * This method initializes jButton1
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton1(){
        if ( jButton1 == null ){
            jButton1 = new JButton();
            jButton1.setText("2");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton1;
    }

    /**
     * This method initializes jButton2
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton2(){
        if ( jButton2 == null ){
            jButton2 = new JButton();
            jButton2.setText("3");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton2;
    }

    /**
     * This method initializes jButton3
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton3(){
        if ( jButton3 == null ){
            jButton3 = new JButton();
            jButton3.setText("4");
            jButton3.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton3;
    }

    /**
     * This method initializes jButton4
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton4(){
        if ( jButton4 == null ){
            jButton4 = new JButton();
            jButton4.setText("5");
            jButton4.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton4;
    }

    /**
     * This method initializes jButton5
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton5(){
        if ( jButton5 == null ){
            jButton5 = new JButton();
            jButton5.setText("6");
            jButton5.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton5;
    }

    /**
     * This method initializes jButton6
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton6(){
        if ( jButton6 == null ){
            jButton6 = new JButton();
            jButton6.setText("7");
            jButton6.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton6;
    }

    /**
     * This method initializes jButton7
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton7(){
        if ( jButton7 == null ){
            jButton7 = new JButton();
            jButton7.setText("8");
            jButton7.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton7;
    }

    /**
     * This method initializes jButton8
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton8(){
        if ( jButton8 == null ){
            jButton8 = new JButton();
            jButton8.setText("9");
            jButton8.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton8;
    }

    /**
     * This method initializes jButton9
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton9(){
        if ( jButton9 == null ){
            jButton9 = new JButton();
            jButton9.setText("0");
            jButton9.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton9;
    }

    /**
     * This method initializes jButton10
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton10(){
        if ( jButton10 == null ){
            jButton10 = new JButton();
            jButton10.setText("+");
            jButton10.setForeground(java.awt.Color.red);
            jButton10.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton10;
    }

    /**
     * This method initializes jButton11
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton11(){
        if ( jButton11 == null ){
            jButton11 = new JButton();
            jButton11.setText("-");
            jButton11.setForeground(java.awt.Color.red);
            jButton11.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton11;
    }

    /**
     * This method initializes jButton12
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton12(){
        if ( jButton12 == null ){
            jButton12 = new JButton();
            jButton12.setText("*");
            jButton12.setForeground(java.awt.Color.red);
            jButton12.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton12;
    }

    /**
     * This method initializes jButton13
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton13(){
        if ( jButton13 == null ){
            jButton13 = new JButton();
            jButton13.setText("/");
            jButton13.setForeground(java.awt.Color.red);
            jButton13.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton13;
    }

    /**
     * This method initializes jButton14
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton14(){
        if ( jButton14 == null ){
            jButton14 = new JButton();
            jButton14.setText("+/-");
            jButton14.setForeground(new java.awt.Color(0,1,255));
            jButton14.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton14;
    }

    /**
     * This method initializes jButton15
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton15(){
        if ( jButton15 == null ){
            jButton15 = new JButton();
            jButton15.setText(",");
            jButton15.setForeground(new java.awt.Color(0,6,255));
            jButton15.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton15;
    }

    /**
     * This method initializes jButton16
     *
     * @return javax.swing.JButton
     */
    private JButton getJButton16(){
        if ( jButton16 == null ){
            jButton16 = new JButton();
            jButton16.setText("C");
            jButton16.setForeground(java.awt.Color.red);
            jButton16.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed( java.awt.event.ActionEvent e ){
                    System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
                }
            });
        }
        return jButton16;
    }

}  //  @jve:decl-index=0:visual-constraint="10,10"
Mantu

Tem um lance que envolve uma interface chamada KeyMap, que parece que serve pra registrar teclas e associálas com determinadas Actions. Dê uma olhada nesses dois posts que eu fiz em um tópico há um bom tempo atrás:
http://www.guj.com.br/posts/list/36806.java#195590
http://www.guj.com.br/posts/list/36806.java#195989

renan_java

É possível também associar as teclar digitadas pelo velho código ASCII, usando um evento OnKeyPress. A tabela se acha fácilmente no google :wink:

Criado 14 de dezembro de 2006
Ultima resposta 15 de dez. de 2006
Respostas 11
Participantes 6