概要

JTabbedPaneのタブ文字列があふれる場合、記号で省略するのではなく、端付近の文字をフェードアウト効果で透明化します。

サンプルコード

#spandel
class TextOverfloFadeTabbedPane extends ClippedTitleTabbedPane {
#spanend
#spanadd
class TextOverflowFadeTabbedPane extends ClippedTitleTabbedPane {
#spanend
  @Override public void insertTab(
        String title, Icon icon, Component component, String tip, int index) {
    super.insertTab(title, icon, component, Objects.toString(tip, title), index);
    super.insertTab(
        title, icon, component, Objects.toString(tip, title), index);
    JPanel p = new JPanel(new BorderLayout(2, 0));
    p.setOpaque(false);
    p.add(new JLabel(icon), BorderLayout.WEST);
    p.add(new TextOverfloFadeLabel(title));
    p.add(new TextOverflowFadeLabel(title));
    setTabComponentAt(index, p);
  }
}
View in GitHub: Java, Kotlin

解説

参考リンク

コメント