Ajuda - Exercício 6_31 Deitel

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.

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 11 de setembro de 2007
Respostas 0
Participantes 1