概要

JTableCellに複数行になるHtmlテキストを表示する場合の行揃えによる描画の変化をテストします。

サンプルコード

((JLabel) table.getDefaultRenderer(Object.class)).setVerticalAlignment(SwingConstants.TOP);
View in GitHub: Java, Kotlin

解説

  • JTableのセルレンダラーとしてDefaultTableCellRenderer(JLabelを継承)を使用して複数の行が存在するHtmlテキストを表示
    • 行揃え(VerticalAlignment)にSwingConstants.TOP以外を設定
    • マウスドラッグによるセル選択で描画が乱れる場合がある

  • Java 9で修正されている
    • 例えばBOTTOMを選択して0行目から6行目までマウスドラッグで選択するとJava 8では1から2行のセル表示内容が変化するがJava 9では変化しない

参考リンク

コメント