Foro de elhacker.net

Programación => Java => Mensaje iniciado por: kch_l en 29 Noviembre 2009, 02:09 am



Título: Como usar el metodo repaint en labels???
Publicado por: kch_l en 29 Noviembre 2009, 02:09 am
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.


Título: Re: Como usar el metodo repaint en labels???
Publicado por: mayofunk en 29 Noviembre 2009, 03:26 am
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.


Título: Re: Como usar el metodo repaint en labels???
Publicado por: Leyer en 29 Noviembre 2009, 05:00 am
deberias colocar el code?

Saaludos.


Título: Re: Como usar el metodo repaint en labels???
Publicado por: 1mpuls0 en 29 Noviembre 2009, 05:29 am
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
  1. repaint();

despues de la llamada al evento

Saludos...


Título: Re: Como usar el metodo repaint en labels???
Publicado por: kch_l en 2 Diciembre 2009, 21:46 pm
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:.
Código:
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();
    }