Como usar el metodo repaint en labels???

Iniciado por kch_l, 29 Noviembre 2009, 02:09 AM

0 Miembros y 1 Visitante están viendo este tema.

kch_l

Mi problema es esta, al mo ver los labels con el mouse va dejando una silueta y a veces ni siquiera se quita, al igual que al visualizar diferentes labels varias veces nos se borram como es debido y genera una gran Confusión.

Mi pregunta es como puedo hacer  para que esto no suceda, la verdad no tengo una buena idea de como hacerlo, seria algo asi como limpiar la pantalla o no se algo parecido.
BAZINGA!!!! I don't care

mayofunk

Una opción posible, algo simplista quizas, es tener un metodo que , desde cero, pinte los elementos en el frame general, ej que se llame dibujaAll().

Entonces haces un thread que cada cierto tiempo llame a algun metodo creado por ti, llamado por ejemplo refreshAll(), que borre los elementos del frame y luego llamando al metodo dibujaAll().

.

Salu2.

Leyer

#2
deberias colocar el code?

Saaludos.

1mpuls0

Será mejor que coloques algo de code, o por lo menos alguna captura.
Pero hasta donde entiendo es que no te refresca tu frame o lo que estes utilizando

agrega el metodo

Código (java) [Seleccionar]
repaint();

despues de la llamada al evento

Saludos...
abc

kch_l

Aqui esta una parte del codigo como me lo pidieron espero que sirva y me puedan aconsejar que hacer. No soy muy bueno en esto apenas voy comenzando asi que no hace falta que me lo digan  :silbar:.

public void moverarriba(int t)
    {
        jLayeredPane1.repaint();
        pop(t);
        int i = 0;
        java.awt.Label disco = null;               
        switch(discomov)
            {
                case 1:
                    disco =  Disco1;
                break;
                case 2:
                    disco =  Disco2;
                break;
                case 3:
                    disco =  Disco3;
                break;
                case 4:
                    disco =  Disco4;
                break;
                case 5:
                    disco =  Disco5;
                break;
                case 6:
                    disco =  Disco6;
                break;
                case 7:
                    disco =  Disco7;
                break;
                case 8:
                    disco =  Disco8;
                break;
                case 9:
                    disco =  Disco9;
                break;
                case 10:
                    disco =  Disco10;
                break;
            }       
        for(i = disco.getY(); i >= 10; i--)
        {
            disco.setLocation(disco.getX(), i);
            jLayeredPane1.repaint();         
            try
            {
            this.wait(500);
            }
            catch(Exception e)
            {
            }
        }
        jLayeredPane1.repaint();
    }

BAZINGA!!!! I don't care