Java Swing Component that shows words in different colors and font sizes based on weights