JScrollBarのトラックハイライト色を変更する
Total: 490
, Today: 1
, Yesterday: 0
Posted by aterai at
Last-modified:
概要
JScrollBar
のトラック色やトラックをマウスでクリックした時に使用されるとハイライト色を変更します。
Screenshot
Advertisement
サンプルコード
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);
View in GitHub: Java, Kotlin解説
ScrollBar.track
、ScrollBar.trackForeground
JScrollBar
の通常状態のトラック色MotifLookAndFeel
ではScrollBar.track
が有効WindowsClassicLookAndFeel
では両方有効でこの2
色でトラックに網目模様が描画される
ScrollBar.trackHighlight
、ScrollBar.trackHighlightForeground
JScrollBar
のトラックがマウスでクリックされてスクロール中、その領域を描画するトラックハイライト色WindowsClassicLookAndFeel
でのみ有効で、この2
色でクリックされたトラック領域に網目模様が描画される