TITLE:JTabbedPaneのタブ文字列をハイライト
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2007-12-10
*JTabbedPaneのタブ文字列をハイライト [#u3553382]
JTabbedPaneのタブ上に、マウスカーソルがある場合、その文字色を変更します。

-&jnlp;
-&jar;
-&zip;

//#screenshot
#ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTU7QqLieI/AAAAAAAAAm0/dgW3rio-pzA/s800/TabTitleHighlight.png)

**サンプルコード [#r7ba520e]
#code(link){{
jtp.addMouseMotionListener(new MouseMotionAdapter() {
  @Override public void mouseMoved(MouseEvent e) {
    JTabbedPane source = (JTabbedPane)e.getSource();
    int tgt = source.indexAtLocation(e.getX(), e.getY());
    for(int i=0;i<source.getTabCount();i++) {
      source.setForegroundAt(i, i==tgt ? Color.GREEN
                                       : Color.BLACK);
    }
  }
});
}}

**解説 [#a0f82c36]
上記のサンプルでは、JTabbedPaneにMouseMotionListenerを追加し、JTabbedPane#indexAtLocationメソッドで、マウスカーソルの下にあるタブを取得しています。

GTK L&F(Ubuntu+GNOME+jdk1.6.0_03) では、タブの文字色を変更出来ないようです。

**参考リンク [#c27d90d2]
-[http://terai.xrea.jp/Swing/ColorTab.html JTabbedPaneの選択文字色を変更]

**コメント [#y35f5c6d]
#comment