Vertically centering text in HTML table cell in Java JLabel
html, java, jlabel, swing, vertical-alignment
Solution
Support for HTML in Swing Components is limited to 3.2, but `valign="middle"` should work.
Problem
I have an HTML table (styles with CSS) that is displayed in a JLabel. I would like the contents (a single, short line of text) of the cells to be both horizontally and vertically centered. Horizontal centering is easy, but I cannot seem to center the text vertically. I've tried `vertical-align:` and `valign:` with both `middle` and `center` arguments. I've looked at several of the tricks, but none of them seemed doable, and the ones I tried didn't work. What I have now: Inline (in the `<style>` tag) CSS: ``` table.outer { background:#F0F0F0; border-collapse:collapse; border:none; } td.outer { border-style:solid; border-width:1pt; border-color:#888888; padding:0pt 0pt 0pt 0pt; } table.inner { border-collapse:collapse; border:none; } td.title { width:75pt; background:#BFBFBF; padding:1.5pt 0pt 1.5pt 0pt; } ``` The relevant portion of the HTML: ``` <body bgcolor=#F0F0F0> <table class='outer'> <tr> <td class='outer' valign=top> <table class='inner'> <tr> <td class='title' rowspan=3> <p class='title'>Current Run</p> </td> </tr> </table> </td> </tr> </table> </body> ```