Barra de status de applet

3 respostas
F

Estou tentando fazer um applet que tenho que inicializar o applet com uma pergunta na barra de status. O problema é o seguinte: inicializo o applet so que nao aparece a pergunta na barra de status. vou colocar o codigo inicial ai para vcs darem uma olhada

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

public class Ex31 extends JApplet implements ActionListener {
	
	JLabel respostaLabel;
	JTextField respostaField;
	
	public void init() {
		
		Container container = getContentPane();
		container.setLayout( new FlowLayout() );
		
		respostaLabel = new JLabel( "Resposta" );
		container.add( respostaLabel );
		respostaField = new JTextField( 4 );
		container.add( respostaField );
		
		showStatus( "PERGUNTA" );
		
		respostaField.addActionListener( this );		
	}
		
	public void actionPerformed( ActionEvent e ) {		
		
	}
}

do jeito q esta ai nao aparece nada. porem qdo retiro o showStatus do public void init() e o coloco no public void actionPerformed() aparece a pergunta depois que digito algo no respostaField e pressiono ENTER. E eu quero que apareça a pergunta antes de eu entrar algo no respostaField.

se puderem me ajudar,
obrigado

3 Respostas

M

fernandoo, primeiramente vou te dar uma explicação do porque que não aparece.
É porque depois do init() a applet verifica se está tudo ok e reescreve o status, pondo então o “applet started” pra que informar que foi iniciado com tudo ok.

Vou te dar uma solução, no seu código vc insere o seguinte método:

public void paint(Graphics g){ super.paint(g); showStatus( "PERGUNTA" ); }

pois depois do init executado e do status sobreescrito ele executa o paint e põe seu pergunta lá… mas atenção. a cada paint que sua applet der ele vai por o tal o status. então vais terque fazer algum controle adicional, ok ?

Abraço,
Maicon

F

ai maicon_b. foi malz o flood de perguntas ai.

valeuuuuuzzz cara, você é o cara mesmo. resolveu meu problema direitinho.

valeuz msm :lol:

Fernando

F

estou eu aki de novo. o primeiro problema eu resolvi. ja fiz quase todo o problema. so no problema pede para eu desenhar o string “Muito bem” caso a resposta seja correta e "resposta errada caso a resposta esteja errada. nao consegui chamar o metodo paint para desenhar esses string.

meu codigo esta assim:

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

public class Ex31 extends JApplet implements ActionListener {
	
	JLabel respostaLabel;
	JTextField respostaField;
	
	int a, b, gabarito, resposta;
	
	public void init() {		
		
		Container container = getContentPane();
		container.setLayout( new FlowLayout() );
		
		respostaLabel = new JLabel( "Resposta" );
		container.add( respostaLabel );
		respostaField = new JTextField( 4 );
		container.add( respostaField );		
	}
	
	public void paint( Graphics g ) {
		
		super.paint( g );
		
		criarMultiplicacao();
		
		respostaField.addActionListener( this );				
	}
		
	public void actionPerformed( ActionEvent e ) {
		
		gabarito = a * b;
		
		resposta = Integer.parseInt( respostaField.getText() );	
		
		if( resposta == gabarito ) {			
			
			respostaField.setText( "" );			
			criarMultiplicacao();			
			
		} else {
			respostaField.setText( "" );
			showStatus( "Quanto é " + a + " X " + b + " ?" );
		}		
	}
	
	public void criarMultiplicacao() {
		
		a = 0 + (int) ( Math.random() * 11 );
		b = 0 + (int) ( Math.random() * 11 );
		
		showStatus( "Quanto é " + a + " X " + b + " ?" );
	}	
}

valeu
Fernando

Criado 20 de outubro de 2004
Ultima resposta 21 de out. de 2004
Respostas 3
Participantes 2