Texto deslizante

Boa tarde pessoal.
Preciso de uma ajuda. Estou fazendo uma aplicação com um componente, pode ser qualquer um, que recebe um texto, esse texto deve ficar passando por esse compoente, ou seja, ele desliza por esse componente.
Um jeito que pensei em fazer, foi montar uma string com varias concatenações da mensagem que tenho que transmitir, por exemplo “Teste Testando *” iria ficar “Teste Testando * Teste Testando * Teste Testando…”, e eu iria andando com a posição desse texto pelo componente. O problema é que não sei setar uma posição absoluta para o texto. Alguem sabe como ou tem alguma sugestão?
Muito obrigado.

Vc pode usar graphics 2d do java para imprimir sua string sobre qualquer componente.

e vc pode usar um timer pra ficar marcando o tempo de mudar de letra em letra.

nesse forum tem um post usando timer e java 2d, mas o cara aqui usa uma imagem ao invés de texto (vai direto no final).

http://www.dreamincode.net/forums/topic/177890-swing-timer-graphics/

aqui tem uns esquemas legais de pegar as fontes do computador e imprimir texto

http://www.apl.jhu.edu/~hall/java/Java2D-Tutorial.html#Java2D-Tutorial-Fonts

[quote=heroijapa]Vc pode usar graphics 2d do java para imprimir sua string sobre qualquer componente.

e vc pode usar um timer pra ficar marcando o tempo de mudar de letra em letra.

nesse forum tem um post usando timer e java 2d, mas o cara aqui usa uma imagem ao invés de texto (vai direto no final).

http://www.dreamincode.net/forums/topic/177890-swing-timer-graphics/

aqui tem uns esquemas legais de pegar as fontes do computador e imprimir texto

http://www.apl.jhu.edu/~hall/java/Java2D-Tutorial.html#Java2D-Tutorial-Fonts[/quote]

Obrigado pela ajuda cara, acabei de fazer um teste com a sua sugestão, mas, não ficou bom. A tela pisca muito, depois de um bom tempo rodando fica quase que branca, fora o buffer que conforme eu vou movendo o texto e concatenando as strings estoura.
Por hora está resolvido com uma label, que vou adicionando e removendo caracteres para dar a impressão de que o texto está andando, ta super porco, mas tenho que entregar hoje, então por hora vai assim, vou continuar pensando em uma solução melhor.

Muito obrigado.

Outra forma seria você adicionar um JPanel que ficará uma JLabel com a mensagem e fazer uma Thread para ir movimentando a JLabel dentro do JPanel com o método da JLabel suaJLabel.setBounds(posicaoX, posicaoY, WIDTH, HEIGHT);
assim o layout da seu JPanel também tem que ser alterado.

O melhor seria o citado acima mas dessa forma também funciona, flw!

[quote=Ivan Alves]Outra forma seria você adicionar um JPanel que ficará uma JLabel com a mensagem e fazer uma Thread para ir movimentando a JLabel dentro do JPanel com o método da JLabel suaJLabel.setBounds(posicaoX, posicaoY, WIDTH, HEIGHT);
assim o layout da seu JPanel também tem que ser alterado.

O melhor seria o citado acima mas dessa forma também funciona, flw![/quote]

Valew cara, mas eu fico com o mesmo problema de antes, a tela pisca muito e com o tempo a aplicação começa a travar.
Muito obrigado.

diminua a velocidade de execução da thread para reduzir os glitches gráficos…
não sei como fica nos gerenciadores de layout do Java, mas a lógica que eu usei pra algo parecido foi receber outro parâmetro, um retângulo que define por onde o texto será deslizado, e utilizar o draw somente dentro desse retângulo com o texto dentro da string somente uma vez
por exemplo, um texto com 50 letras “a” não teria que ser concatenado com todas as variações (de 0 a 49 “a”): você começa o draw da esquerda (do canto esquerdo do retângulo) até terminar o texto ou até tocar o outro extremo do retângulo.
a menos que você use um 286 ou ancestral similar, vai conseguir um efeito com fps imperceptível