JLabel com cantos arredondados

Galera,

Alguém sabe como arredondar os cantos de um JLabel? Ou então algo como colocar uma imagem de fundo num JLabel. Isso é viável? Minha situação é a seguinte:

Tenho uma tabela com + ou - 250 células. Cada célula representa um nº de telefone. A cor da célula muda de acordo com o estado do telefone (ocupado, conversando, etc). Já tá tudo funfando, mas me pediram para arredondar as bordas de cada célula, que na verdade é um label.

Agradeço toda ajuda!!!

Valeus!!! :wink:

Se você quiser fazer algo meio nojento (ou seja, pôr uma borda arredondada em um JLabel, mas a cor “vaza” um pouco para fora dos cantos arredondados) é relativamente simples: crie uma classe que seja uma versão corrigida da javax.swing.border.LineBorder, que crie um Border que é um retângulo com cantos arredondados. (Infelizmente essa classe LineBorder tem um bug porque a tal “borda arredondada” que ele cria é um retângulo cujas quinas arredondadas têm raio de 1 pixel apenas, então não pode ser usada dessa maneira).

Thingol,

Consegui uma solução quase ideal. Setei o background do label para branco. Consegui arredondar as bordas, porém o backgroung interior a borda tbem fica branco (CLARO!!!). Teria como eu pintar esse interior, delimitado pelas bordas?

Obrigado.

Pois é, é isso que falei. Para pintar corretamente o JLabel do jeito que você quer, é preciso fazer algum override (provavelmente de paintComponent).