Exercício - Deitel 6_31

0 respostas
T

Galera, bom dia… Conto novamente com sua gloriosa ajuda!!!
Tenho que fazer um exercício em que exibo uma conta de multiplicação para o usuário, se este responder corretamente, tenho que através do método drawString exibir a mensagem “Resposta Correta”. Montei o exercício abaixo, mas travei em uma coisa… Como faço para chamar o método paint APENAS depois que o usuário digitar a resposta e pressionar ENTER?? Creio que tenho que chamá-lo a partir do evento, mas não consigo!!! Obrigado e segue abaixo o código.

Código:

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

public class Exe6_31 extends JApplet implements ActionListener { 
   JLabel resLabel; 
   JTextField resField; 
   int a, b, res; 
    
   public void init () { 
      Container c = getContentPane(); 
      c.setLayout (new FlowLayout()); 
       
      resLabel = new JLabel ("Reposta:"); 
      c.add(resLabel); 
      resField = new JTextField(10); 
      c.add(resField); 
      a = 1 + (int) (Math.random() * 1000); 
      b = 1 + (int) (Math.random() * 1000); 
      showStatus ("Quanto é " + a + " x " + b + "??"); 
      JOptionPane.showMessageDialog(null, "teste"); 
   } 
    
   public void actionPerformed (ActionEvent e) { 
      res = Integer.parseInt(resField.getText()); 
   } 
    
   public void paint(Graphics g) { 
      super.paint(g); 
      if (a * b == res) 
         g.drawString("Resposta correta!!", 25, 25); 
      else 
         g.drawString("Resposta errada!!", 50, 50); 
       
      JOptionPane.showMessageDialog(null, "" + res); 
   } 
}
Criado 12 de setembro de 2007
Respostas 0
Participantes 1