FORUM DARKERS

Tecnologia & Informática => Programação => Java => Topic started by: Anonymous on 23 de November , 2007, 09:01:43 PM

Title: (Dúvida) Eventos dos Botões
Post by: Anonymous on 23 de November , 2007, 09:01:43 PM
Já sei que vocês vão me mandar pesquisar um pouco mais, mas é que não tenho mais tempo.

Os professores querem que aprendamos java em apenas 7 semanas, e com 2 provas dificílimas.
Nem tem tempo pra tirar nossas dúvidas direito.

Estou na 5: Interfaces Gráficas com Usuário

Mas minha dúvida é o seguinte.

Segue o código com dúvidas comentadas.
Quem puder me ajudar, blz.


/** @autor: DARK BOMBER
 *
 ** Parece bobeira mas vai me ajudar muito...
 *
 */
// início de Exemplo.java
/** importando classes **/
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;   // interface gráfica.
 import javax.swing.JButton;     //  classe para botão.
 import javax.swing.JFrame;    // classe para tela.
 import javax.swing.JLabel;   // classe para legenda.
 import javax.swing.JPanel;   // classe p/ painel.
 import javax.swing.JTextArea;   //
 import javax.swing.JTextField;   // classe para campo de texto.
 import javax.swing.JRadioButton;

 // faltavam estas
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.ButtonGroup;

 /*************************************************************/
 
 
 public class Exemplo {    // classe principal
     public static void main(String[] args) {
         JFrame tela = new JFrame("por: Francis Rodrigues - EADCON de MEDINA");   // criando a janela.
         tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          // cria botões com ações de fechar a janela.

          JLabel labelDes = new JLabel("Digite o valor e depois selecione o serviço.");
         
         
          final JTextArea minhaAreaTexto = new JTextArea(10, 20);   // criando área de texto.
          minhaAreaTexto.setEditable(false);   /** define que o conteúdo(o texto)
                                               *   não pode ser alterado
                                               */
         
          JLabel labelDescricao = new JLabel("Valor: ");   // cria rótulos.
          final JLabel labelValor = new JLabel("0");   // ("0" é o texto inicial).
           //precisam ser declarados como final p/ permitir o acesso da classe interna
         
                                                                             
          // precisam ser declarados como final p/ permitir o acesso da classe interna.                             
          final JTextField meuCampoTexto = new JTextField(10);  /** aqui é criado
          * um campo de texto de uma linha. Neste campo serão digitados os valores para se
          * realizer a soma.
          */
          meuCampoTexto.setText("0");  /* define texto inicial do campo acima;
          *  como o campo vai receber valores, tem que ficar com valor "0"*/
           
         
          JButton botaoCalcular = new JButton("+");  /* cria o botão que
             *  vai realizar a soma. Atribui o nome "somar". */
             
             
          JButton botaoDiminuir = new JButton("-");
          JButton botaoVezes = new JButton("x");
         
          JButton botaoDividir = new JButton("/");
         
//          JButton botaoOk = new JButton("OK"); 
 /**este botão "OK" era pra no caso de deu tivesse conseguido criar o
  *  "JCheckBox".
  * 
  *  Eu criei sim, mas só que não consigo atribuir valores à els
  * 
  *  Alguma explicação????????
  */
 
         
             
          JRadioButton botaoSomar = new JRadioButton("Somar"); // faltou r no final do nome
          JRadioButton botaoSubtrair = new JRadioButton("Subtrair");
          JRadioButton botaoMultiplicar = new JRadioButton("Multiplicar"); 
          JRadioButton botaoDividir_1 = new JRadioButton("Dividir");
         
//          JCheckBox basicoCheckBox = new JCheckBox("Operações Básicas");         //nem vou colocar senão vai dar muito trabalho...
 //         JCheckBox cientificoCheckBox = new JCheckBox("Operações Científicas");   //nem vou colocar senão vai dar muito trabalho...
 //         JCheckBox financeiroCheckBox = new JCheckBox("Operações Financeiras");    //nem vou colocar senão vai dar muito trabalho...
         
         
          ButtonGroup grupo = new ButtonGroup();
          grupo.add(botaoSomar);
          grupo.add(botaoSubtrair);
          grupo.add(botaoMultiplicar);
         
//          JComboBox comboOperacao = new JComboBox();       // retirei, pois não estou conseguindo colocá-lo abaixo dos outros campos
//          comboOperacao.addItem("Somar");
//          comboOperacao.addItem("Multiplicar");
//          comboOperacao.addItem("Subtrair");
         
//          String operacaoSelecionada = (String)comboOperacao.getSelectedItem();
         

           /**************** início de uma classe interna para somar ******************/
           
          class CalcularListener implements ActionListener {  // explicação abaixo:
              /** início de uma classe interna
               * Ela está implementada dentro do Método main da classe Exemplo.
               *  Ela só pode ser vista apenas dentro da classe ou método que
               *  foi implementada, neste caso, a interfece "ActionListener".*/
             
              // "public void" é a implementação do método da interface".
              public void actionPerformed(ActionEvent event) {
                  double valor = Double.parseDouble(labelValor.getText());  //explicação abaixo:
                  /** como "Text"  só pode ser do tipo String, é preciso converter para double,
                   * assim foi criada uma classe "Double" para ele.*/
                 
                   valor = valor + Double.parseDouble(meuCampoTexto.getText());
                   labelValor.setText("" + valor);  // explicação abaixo:
                   /** somando "valor atual" + "novo valor".
                    *  Por isso as " " (aspas vazias", para atribuir o valor já somado
                    *   ao último valor que digitamos e espera ser somado, clicando
                    *   no botão "somar".
                    */
                   
                   minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                }
            }
           
           
            ActionListener listener = new CalcularListener();   
             /** criação  e associação do tratador de eventos ao botão*/
                  botaoCalcular.addActionListener(listener);
                  botaoSomar.addActionListener(listener);
                  /************ Fim da classe interna para soma *****************/
               
 
                   
             /**************** Classe interna para subtração ********************/     
                 
               class SubtrairListener implements ActionListener {
 
                public void actionPerformed(ActionEvent event) {
                    double valor = Double.parseDouble(labelValor.getText());
                    valor = valor - Double.parseDouble(meuCampoTexto.getText());
                    labelValor.setText("" + valor);
                    minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                }
            }
                 
            ActionListener listener1 = new SubtrairListener();
            botaoSubtrair.addActionListener(listener1);
            botaoDiminuir.addActionListener(listener1);
           
           
           /****************** Fim da classe interna para subtração ********************/
                 
                   
           
          /***************** Início da classe Multiplicar ***************************/
           class MultiplicarListener implements ActionListener {
               
            public void actionPerformed(ActionEvent event) {
               double valor = Double.parseDouble(labelValor.getText());
               valor = valor * Double.parseDouble(meuCampoTexto.getText());
               labelValor.setText("" + valor);
               minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
            }
        }
       
        ActionListener listener2 = new MultiplicarListener();
        botaoMultiplicar.addActionListener(listener2);
        botaoVezes.addActionListener(listener2);
       
        if (botaoMultiplicar.isSelected() );
       
       
        /******************** Fim da classe para Multiplicar ***************************/
       
       
         /**************** Classe interna para Divisão ********************/     
                 
               class DividirListener implements ActionListener {
 
                public void actionPerformed(ActionEvent event) {
                    double valor = Double.parseDouble(labelValor.getText());
                    valor = valor / Double.parseDouble(meuCampoTexto.getText());
                    labelValor.setText("" + valor);
                    minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                }
            }
                 
            ActionListener listener3 = new DividirListener();
           botaoDividir.addActionListener(listener3);
           botaoDividir_1.addActionListener(listener3);
         
                       
                 
        if (botaoSomar.isSelected() );  //não sei o que faço com isso.
          //faz a soma...
         
          else  //não sei o que faço com isso.
         
        if (botaoSubtrair.isSelected() );   //não sei o que faço com isso.
       
       
 
       
       
       
                 
                JPanel painel = new JPanel();  // criação do painel.
               
                /** adicionando componentes ao painel **/
                painel.add(botaoCalcular);   // adiciona o "botaoCalcular" ao painel.
                painel.add(botaoDiminuir);
                painel.add(botaoVezes);
                painel.add(botaoDividir);

                painel.add(botaoSomar);
                painel.add(botaoSubtrair);
                painel.add(botaoMultiplicar);
                painel.add(botaoDividir_1);
               
//                painel.add(botaoOk); 
/***** Já que não conseguir fazer com que os valores selecionados em
 *  "JCheckBox" fossem calculados desativei este botão.
 */
               
               
//                painel.add(basicoCheckBox);
//                painel.add(cientificoCheckBox);
//                painel.add(financeiroCheckBox);
               
//                painel.add(comboOperacao);

                painel.add(meuCampoTexto);  // adiciona "meuCampoTexto" ao painel.
                painel.add(labelDescricao);
                painel.add(labelValor);
                painel.add(minhaAreaTexto);
//                painel.add(grupo); // nao tem este add com parametro ButtonGroup
         
     
                tela.setContentPane(painel);  // atribuição do painel à tela.
                tela.setSize(210, 350);  // definindo o tamanho da tela(janela).
                tela.setVisible(true);  // tornando a tela(janela) visível.
               
               
            }
        }
        //fim de Exemplo.java


OBS.: Todas as linhas testadas e sem erros.
O que não consigo fazer está como código em forma de comentário.
Foi criado no BlueJ, pode apresentar erro em outras IDEs.

Comentários...
Title: Re: (Dúvida) Eventos dos Botões
Post by: Alucard on 29 de November , 2007, 11:38:56 AM
Bem não entendi qual é realmente a sua dúvida...
O que realmente que fazer...?
qual é o problema?
Title: Re: (Dúvida) Eventos dos Botões
Post by: Anonymous on 29 de November , 2007, 12:17:43 PM
// início exemplo CheckBox com botão de OK.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JCheckBox;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Exemplo68c_checkbox {
public static void main(String[] args)
{
JFrame tela = new JFrame("by: DARK BOMBER");
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

final JCheckBox somaCheckBox = new JCheckBox ("somar");
final JCheckBox subtraeCheckBox = new JCheckBox ("subtrair");
final JCheckBox multiplicaCheckBox = new JCheckBox ("multiplicar");
final JCheckBox divideCheckBox = new JCheckBox ("Dividir");

// Aqui está o botão de OK para validar o Checkbox...
final JButton botaoOK = new JButton("OK");

class CalcularListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
if (basicoCheckBox.isSelected())
System.out.println("basico OK"); // colocar alguma instrucao q deve ser executada
if (cientificoCheckBox.isSelected())
System.out.println("cientifico OK"); // colocar alguma instrucao q deve ser executada caso seja selecionado este botao
if (financeiroCheckBox.isSelected())
System.out.println("financeiro OK");; // colocar alguma instrucao q deve ser executada caso seja selecionado este botao
}
}

ActionListener listener = new CalcularListener();
botaoOK.addActionListener(listener); // para acionar o listener só a partir do botao OK

JPanel painel = new JPanel();
painel.add(basicoCheckBox);
painel.add(cientificoCheckBox);
painel.add(financeiroCheckBox);
painel.add(botaoOK);

tela.setContentPane(painel);
tela.setSize(300, 200);
tela.setVisible(true);
}
}
// fim

Aqui eu já resolvi finalmente.



Agora o problema é aqui:

Quote// início exemplo JComboBox

// início

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Exemplo_combobox {
public static void main(String[] args)
{
JFrame tela = new JFrame("by: DARK BOMBER");
tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JTextArea minhaAreaTexto = new JTextArea(10, 20);
minhaAreaTexto.setEditable(false);
JLabel labelDescricao = new JLabel("Valor: ");
final JLabel labelValor = new JLabel("0");
final JTextField meuCampoTexto = new JTextField(10);
meuCampoTexto.setText("0");


final JComboBox comboOperacao = new JComboBox();  /** atribuído o atributo "final" para
que a classe intrerna (a classe tratadora de eventos ) tenha acesso. **/

comboOperacao.addItem("Somar"); 
comboOperacao.addItem("Subtrair");
comboOperacao.addItem("Multiplicar");
comboOperacao.addItem("Dividir");


class CalcularListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
double valor = Double.parseDouble(labelValor.getText());
String opSelecionada = (String)comboOperacao.getSelectedItem();

if (opSelecionada == "Somar")
valor = valor + Double.parseDouble(meuCampoTexto.getText());
labelValor.setText("" + valor);
minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
         
if (opSelecionada == "Subtrair")
valor = valor - Double.parseDouble(meuCampoTexto.getText());
labelValor.setText("" + valor);
minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");

if (opSelecionada == "Multiplicar")
valor = valor * Double.parseDouble(meuCampoTexto.getText());
labelValor.setText("" + valor);
minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");

if  (opSelecionada == "Dividir")
 valor = valor /  Double.parseDouble(meuCampoTexto.getText());
labelValor.setText("" + valor);
minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");

  }
 }
 
ActionListener listener = new CalcularListener();
comboOperacao.addActionListener(listener);  // acima o Listener para o cálculo.

JPanel painel = new JPanel();
painel.add(comboOperacao);
painel.add(meuCampoTexto);
painel.add(labelDescricao);
painel.add(labelValor);
painel.add(minhaAreaTexto);
tela.setContentPane(painel);
tela.setSize(320, 260);
tela.setVisible(true);
}
}
// fim





Não entendi essa parte, ele cria um botão e
adiciona vários tipos de cálculos à ele.

Quotefinal JComboBox comboOperacao = new JComboBox();[/color]  /** atribuído o atributo "final" para
que a classe intrerna (a classe tratadora de eventos ) tenha acesso. **/


comboOperacao.addItem("Somar"); 
comboOperacao.addItem("Subtrair");
comboOperacao.addItem("Multiplicar");
comboOperacao.addItem("Dividir");

Não sei fazer isso funcionar direito.

Quoteif (opSelecionada == "Somar")
valor = valor + Double.parseDouble(meuCampoTexto.getText());
labelValor.setText("" + valor);
minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");


Ele está calculando de forma errada.

(//http://i10.tinypic.com/7wgipnm.gif)



Espero que possa me ajudar.
Tenha paciência, pois é meu primeiro código, e olha, em fevereiro já vamos ter
prova prática, e como comecei agora, não vai ser nada fácil, mas vai ser divertido.

[]s.
Title: Re: (Dúvida) Eventos dos Botões
Post by: Alucard on 29 de November , 2007, 12:32:43 PM
pelo o que eu entendi do texto ele verifica o texto que tá na combo box e depois faz a opração, essa operação ele pega o valor do label

final JLabel labelValor = new JLabel("0");
e soma, multiplica, divide ou subtrai.

Agora ele não tá calculando de forma errada. No seu exemplo vc pediu para
multiplicar 10 * 0 = 0

Para mudar o valor altere a linha

final JLabel labelValor = new JLabel("0");
para

final JLabel labelValor = new JLabel("1");
ai ele vai fazer 10 * 1 = 10...

Espero ter ajudado.
Title: Re: (Dúvida) Eventos dos Botões
Post by: Anonymous on 29 de November , 2007, 12:44:48 PM
mas esse aí é o valor inicial, se eu alterar pra 1 vai começar com 1.

Então imagine se eu fosse colocar o valor inicial 10, se ele fosse somar com o 1
ia dar 11.

Mas se o valor fosse 0 ia dar 10 novamente, isso era pra carregar o valor pra área do cálculo, por isso acho que não é recomendado alterá-lo.

E tem outra coisa, a aba somar não funfa, não sei porque.

Ajudou e muito mas não posso fazer isso senão vou ser reprovado.

[]s
Title: Re: (Dúvida) Eventos dos Botões
Post by: Alucard on 29 de November , 2007, 01:07:27 PM
hunm aqui funcionou perfeitamente... seu código acho que vc se confundiu um pouco...
bem fiz uma alteração no seu código testa ai.

// início exemplo JComboBox

// início

package form;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Exemplo {
    public static void main(String[] args) {
        JFrame tela = new JFrame("by: DARK BOMBER");
        tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final JTextArea minhaAreaTexto = new JTextArea(10, 20);
        minhaAreaTexto.setEditable(false);
        JLabel labelDescricao = new JLabel("Valor: ");
        final JLabel labelValor = new JLabel("0");
        final JTextField meuCampoTexto = new JTextField(10);
        meuCampoTexto.setText("0");
       
       
        final JComboBox comboOperacao = new JComboBox();  /** atribuído o atributo "final" para
         * que a classe intrerna (a classe tratadora de eventos ) tenha acesso. **/
        comboOperacao.addItem("");
        comboOperacao.addItem("Somar");
        comboOperacao.addItem("Subtrair");
        comboOperacao.addItem("Multiplicar");
        comboOperacao.addItem("Dividir");
       
       
        class CalcularListener implements ActionListener {
            public void actionPerformed(ActionEvent event) {
                double valor = Double.parseDouble(labelValor.getText());
                String opSelecionada = (String)comboOperacao.getSelectedItem();
               
                if (opSelecionada == "Somar")
                    valor = valor + Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
               
                if (opSelecionada == "Subtrair")
                    valor = valor - Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
               
                if (opSelecionada == "Multiplicar")
                    valor = valor * Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
               
                if  (opSelecionada == "Dividir")
                    valor = valor /  Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
               
                if (opSelecionada == "")
                    labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
            }
        }
       
        ActionListener listener = new CalcularListener();
        comboOperacao.addActionListener(listener);  // acima o Listener para o cálculo.
       
        JPanel painel = new JPanel();
        painel.add(comboOperacao);
        painel.add(meuCampoTexto);
        painel.add(labelDescricao);
        painel.add(labelValor);
        painel.add(minhaAreaTexto);
        tela.setContentPane(painel);
        tela.setSize(320, 260);
        tela.setVisible(true);
    }
}
// fim

(//http://img408.imageshack.us/img408/5036/imagemsg1.th.jpg) (//http://img408.imageshack.us/my.php?image=imagemsg1.jpg)
: 29 Novembro 2007, 13:04:01para ficar melhor ainda.. apos os if que efetuam as contas...
coloque


comboOperacao.setSelectedIndex(0);
Ele vai voltar ao primeiro item que seria "", para poder somar, subtrair, dividir e ou multiplicar.
Title: Re: (Dúvida) Eventos dos Botões
Post by: Anonymous on 29 de November , 2007, 06:13:03 PM
Quote from: "Alucard"para ficar melhor ainda.. apos os if que efetuam as contas...
coloque

comboOperacao.setSelectedIndex(0);
Ele vai voltar ao primeiro item que seria "", para poder somar, subtrair, dividir e ou multiplicar.


Resolveu o problema da falta de cálculos
 (é que eu ainda não havia aprendido isso na faculdade).

Não entendi o comando package form;
presente antes dos imports
( ele dá um erro de compilação e
depois some do código, salvando-o automaticamente no final
).

Agora eu resolvi aqui o problema dos resultados repetidos que cada
cálculo gerava. Cada botão Jcombo estava apresentando
um mesmo resultado em 4 linhas. (Erro gravíssimo)

if (opSelecionada == "Somar"){
                    valor = valor + Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");}
               
                if (opSelecionada == "Subtrair"){
                    valor = valor - Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");}


Daí juntando tudo vai ficar assim:

// início exemplo JComboBox

// início

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Exemplo {
    public static void main(String[] args) {
        JFrame tela = new JFrame("by: DARK BOMBER");
        tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final JTextArea minhaAreaTexto = new JTextArea(10, 20);
        minhaAreaTexto.setEditable(false);
        JLabel labelDescricao = new JLabel("Valor: ");
        final JLabel labelValor = new JLabel("0");
        final JTextField meuCampoTexto = new JTextField(10);
        meuCampoTexto.setText("0");
       
       
        final JComboBox comboOperacao = new JComboBox();  /** atribuído o atributo "final" para
         * que a classe intrerna (a classe tratadora de eventos ) tenha acesso. **/
        comboOperacao.addItem("");
        comboOperacao.addItem("Somar");
        comboOperacao.addItem("Subtrair");
        comboOperacao.addItem("Multiplicar");
        comboOperacao.addItem("Dividir");
       
       
        class CalcularListener implements ActionListener {
            public void actionPerformed(ActionEvent event) {
                double valor = Double.parseDouble(labelValor.getText());
                String opSelecionada = (String)comboOperacao.getSelectedItem();
               
                if (opSelecionada == "Somar"){
                    valor = valor + Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                comboOperacao.setSelectedIndex(0);}
               
                if (opSelecionada == "Subtrair"){
                    valor = valor - Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                comboOperacao.setSelectedIndex(0);}
               
                if (opSelecionada == "Multiplicar"){
                    valor = valor * Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                comboOperacao.setSelectedIndex(0);}
               
                if  (opSelecionada == "Dividir"){
                    valor = valor /  Double.parseDouble(meuCampoTexto.getText());
                labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                comboOperacao.setSelectedIndex(0);}
               
                if (opSelecionada == ""){
                    labelValor.setText("" + valor);
                minhaAreaTexto.append("Novo Valor: " + labelValor.getText() + "\n");
                comboOperacao.setSelectedIndex(0);}
            }
        }
       
        ActionListener listener = new CalcularListener();
        comboOperacao.addActionListener(listener);  // acima o Listener para o cálculo.
       
        JPanel painel = new JPanel();
        painel.add(comboOperacao);
        painel.add(meuCampoTexto);
        painel.add(labelDescricao);
        painel.add(labelValor);
        painel.add(minhaAreaTexto);
        tela.setContentPane(painel);
        tela.setSize(320, 260);
        tela.setVisible(true);
    }
}
// fim

Era só colocar chaves dentro dos comandos if , pois são vários dentro do laço.
Estávamos nos esquecendo disso, meu Deus, e isso é regra!  ;D

Agradecimentos ao alucard, o cara sabe muito e ao #phobia por ter editado o post.

Valeu aos dois.
Title: Re: (Dúvida) Eventos dos Botões
Post by: Alucard on 30 de November , 2007, 08:00:43 AM
d boa se precisar tamo ai  ;D

Cara em relação ao package no inicio do código é que onde fiz o teste eu usava um packote ai eu esqueci de mudar, foi mal.

Valew