Java - Ayuda Repintando String en JPanel

 
Vista:

Ayuda Repintando String en JPanel

Publicado por joker (2 intervenciones) el 20/10/2012 21:07:02
Bueno Primera que nada un cordial saludo a toda la comunidad, Soy nuevo en ella y Tambien en esto de java, Espero puedan ayudarme en mi problema el cual es el siguiente:
Estoy haciendo un JFrame que contiene un JPanel que Muestra un nombre de usuario y un cronometro de tiempo (minutos: segundos) ambos son Strings dibujados en el metodo sobreescrito paint y los minutos y los segundos son actualizados por un timer que contiene el JPanel, el problema es que llamo al repaint en el timer y efectivamente me redibuja el tiempo en el panel pero sobre el que estaba anteriormente y la verdad no tengo idea de como solucinarlo quisiera que me borrara el tiempo anterior antes de dibujar el actual por favor de verdad espero puedan ayudarme lo necesito de antemano gracias y aquí les dejo el código por si acaso

[public class DataPanel extends JPanel{
String usuario;
int min,seg;
public boolean timeover;
Timer testimer;
public DataPanel(String usuario, int tiempo){
min=tiempo;
seg=60;
timeover=false;
this.usuario=usuario;
super.setSize(new Dimension(700, 200));
super.setLayout(null);
super.setBackground(Color.GREEN);
super.setVisible(true);
defineEvents();
}
public void paint(Graphics g){
g.setColor(Color.BLACK);
g.setFont(new Font("Serif", Font.BOLD, 26));
g.drawString(usuario, 100, 50);

g.setColor(Color.BLACK);
g.setFont(new Font("Serif", Font.BOLD, 26));
g.drawString("TIEMPO: ", 350, 50);

String mini= ""+min;
g.drawString(mini, 500, 50);
g.drawString(":", 550, 50);
String segu = ""+seg;
g.drawString(""+segu, 600, 50);
}

private void defineEvents() {
testimer= new Timer(1000, new TimerListener());
testimer.start();

}
private class TimerListener implements ActionListener{
int cont;
@Override
public void actionPerformed(ActionEvent ae) {
seg--;
if(seg==0){
min--;
seg=60;
}
if(min==0){
timeover=true;
testimer.stop();
}
repaint();
}

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda Repintando String en JPanel

Publicado por joker (2 intervenciones) el 20/10/2012 23:46:29
Bueno comento que ya lo solucione por si alguna vez alguien tiene ese problema. dibuje una imagen de fondo que tambien se repinta con los strings y le cambie el layaout a borderlayaout. al parecer el problema estaba en que intentaba redibujar en un layaout nulo :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar