Applet com ActionListener

2 respostas
loveskihame

Boa...
Criei este applet e ao terminar ele sublinha a classe. Ao pressionar F2, ele gera a mensagem q colokei abaixo da declaração da classe.
Mando executar, mas ele não executa as ações.
Alguém pode me ajudar?
Segue o código:

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;

public class Craps extends JApplet implements ActionListener{
//Class must implement the inherited abstract method ActionListener.actionPerformed(ActionEvent)
	
	final int WON = 0, LOST = 1, CONTINUE = 2;
	
	boolean firstRoll = true;
	int sumOfDice = 0;
	int myPoint = 0;
	int gameStatus = CONTINUE;
	
	JLabel die1Label, die2Label, sumLabel, pointLabel;
	JTextField die1Field, die2Field, sumField, pointField;
	JButton rollButton;
	
	public void init(){
		
		Container container = getContentPane();
		container.setLayout(new FlowLayout());
		
		die1Label = new JLabel("Die 1");
		container.add(die1Label);
		die1Field = new JTextField(10);
		die1Field.setEditable(false);
		container.add(die1Field);
		
		die2Label = new JLabel("Die 2");
		container.add(die2Label);
		die2Field = new JTextField(10);
		die2Field.setEditable(false);
		container.add(die2Field);
		
		sumLabel = new JLabel("Sum is");
		container.add(sumLabel);
		sumField = new JTextField(10);
		sumField.setEditable(false);
		container.add(sumField);
		
		pointLabel = new JLabel("Point is");
		container.add(pointLabel);
		pointField = new JTextField(10);
		pointField.setEditable(false);
		container.add(pointField);
		
		rollButton = new JButton("Roll Dice");
		rollButton.addActionListener(this);
		container.add(rollButton);	
		
	}
	
	public void actionPerfomed(ActionEvent e){
		
		if(firstRoll){
			sumOfDice = rollDice();
			
			switch(sumOfDice){
				case 7: case 11:
					gameStatus = WON;
					pointField.setText("");
					break;
				case 2: case 3: case 12:
					gameStatus = LOST;
					pointField.setText("");
					break;
				default:
					gameStatus = CONTINUE;
					myPoint = sumOfDice;
					pointField.setText(Integer.toString(myPoint));
					break;				
			}
			
		}
		
		else{
			sumOfDice = rollDice();
			
			if(sumOfDice == myPoint)
				gameStatus = WON;
			else
				if(sumOfDice == 7)
					gameStatus = LOST;			
		}
		
		displayMessage();
		
	}

	public int rollDice(){
		int die1, die2, sum;
		
		die1 = 1 + (int) (Math.random() * 6);
		die2 = 1 + (int) (Math.random() * 6);
		
		sum = die1 + die2;
		
		die1Field.setText(Integer.toString(die1));
		die2Field.setText(Integer.toString(die2));
		
		sumField.setText(Integer.toString(sum));
		
		return sum;
	}
	
	public void displayMessage(){
		
		if(gameStatus == CONTINUE)
			showStatus("Roll Again");
		
		else{
			if(gameStatus == WON)
			        showStatus("Player wins. " + "Click Roll Dice to play again.");
			else
				showStatus("Player loses. " + "Click Roll Dice to play again.");
			
			firstRoll = true;
		}
		
	}
	
}
:? :?

2 Respostas

fredferrao

presta atencao no nome da sua “actionPerfomed” o correto é actionPerformed falta um “r” ai!!!

loveskihame

Véio, brigadão pela força e desculpe a falta de atenção.

Criado 10 de julho de 2005
Ultima resposta 11 de jul. de 2005
Respostas 2
Participantes 2