Swing/ScrollBarTrackHighlightForeground の変更点
- 追加された行はこの色です。
- 削除された行はこの色です。
- Swing/ScrollBarTrackHighlightForeground へ行く。
- Swing/ScrollBarTrackHighlightForeground の差分を削除
--- category: swing folder: ScrollBarTrackHighlightForeground title: JScrollBarのトラックハイライト色を変更する tags: [JScrollBar, UIManager] author: aterai pubdate: 2023-09-25T01:02:05+09:00 description: JScrollBarのトラック色やトラックをマウスでクリックした時に使用されるとハイライト色を変更します。 image: https://drive.google.com/uc?id=17jffD7-KwJvXflfEg3_V4PNMqBnx2LYy --- * 概要 [#summary] `JScrollBar`のトラック色やトラックをマウスでクリックした時に使用されるとハイライト色を変更します。 #download(https://drive.google.com/uc?id=17jffD7-KwJvXflfEg3_V4PNMqBnx2LYy) * サンプルコード [#sourcecode] #code(link){{ JTextArea log = new JTextArea(200, 200) { @Override public void updateUI() { super.updateUI(); EventQueue.invokeLater(() -> { info("ScrollBar.track"); info("ScrollBar.trackForeground"); info("ScrollBar.trackHighlight"); info("ScrollBar.trackHighlightForeground"); }); } private void info(String key) { Color color = UIManager.getLookAndFeelDefaults().getColor(key); append(String.format("%s: %s%n", key, color)); } }; UIManager.put("ScrollBar.track", Color.GREEN); UIManager.put("ScrollBar.trackForeground", Color.WHITE); UIManager.put("ScrollBar.trackHighlight", Color.PINK); UIManager.put("ScrollBar.trackHighlightForeground", Color.RED); JScrollPane scroll = new JScrollPane(log); add(scroll); }} * 解説 [#explanation] - `ScrollBar.track`、`ScrollBar.trackForeground` -- `JScrollBar`の通常状態のトラック色 -- `MotifLookAndFeel`では`ScrollBar.track`が有効 -- `WindowsClassicLookAndFeel`では両方有効でこの`2`色でトラックに網目模様が描画される - `ScrollBar.trackHighlight`、`ScrollBar.trackHighlightForeground` -- `JScrollBar`のトラックがマウスでクリックされたとき、その領域を描画するトラックハイライト色 -- `JScrollBar`のトラックがマウスでクリックされてスクロール中、その領域を描画するトラックハイライト色 -- `WindowsClassicLookAndFeel`でのみ有効で、この`2`色でクリックされたトラック領域に網目模様が描画される * 参考リンク [#reference] - [[JScrollBarに検索結果をハイライト表示>Swing/ScrollBarSearchHighlighter]] - [[MetalLookAndFeelを適用したJSliderで現在値までのトラック背景色を変更する>Swing/SliderAltTrackColor]] * コメント [#comment] #comment #comment