Swing/TabTitleHighlight のバックアップ(No.5)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/TabTitleHighlight へ行く。
- title: JTabbedPaneのタブ文字列をハイライト tags: [JTabbedPane, MouseMotionListener] author: aterai pubdate: 2007-12-10T16:19:56+09:00 description: JTabbedPaneのタブ上に、マウスカーソルがある場合、その文字色を変更します。
概要
JTabbedPane
のタブ上に、マウスカーソルがある場合、その文字色を変更します。
Screenshot
Advertisement
サンプルコード
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);
}
}
});
View in GitHub: Java, Kotlin解説
上記のサンプルでは、JTabbedPane
にMouseMotionListener
を追加し、JTabbedPane#indexAtLocation
メソッドで、マウスカーソルの下にあるタブを取得しています。
GTKLookAndFeel
(Ubuntu
+GNOME
+jdk1.6.0_03
)などでは、タブの文字色を変更出来ないようです。