Como destacar parte de um JLabel?

Antes que alguém sugira HTML, explico mais tarde por que isso não é uma opção aqui. Eu tenho uma tabela que contém uma coluna com células de texto. Eu preciso destacar alguns textos em cada célula. Por exemplo, se a célula continha "gato foo dog" ... talvez eu queira destacar foo.

Meu método atual é usar um TableCellRenderer personalizado que coloca html em um componente JLabel que é renderizado e por um tempo ficou bom. Então notei que, quando o texto na célula ficou muito longo para caber na largura da coluna, ele apenas truncou o texto sem o "..." normal que acontece normalmente nesse caso. Assim, os usuários não sabiam que havia mais texto que não estavam vendo. O outro problema era que, se o próprio texto original contivesse HTML, o que, no meu caso, às vezes, a célula não seria renderizada corretamente. Eu sei que poderia escapar do html, mas ainda teria o problema anterior.

Se eu usar um componente que não seja um jlabel, isso fará com que as células da minha tabela pareçam estranhas. Alguém tem alguma sugestão? obrigado