• category: swing folder: NimbusColorPalette title: NimbusLookAndFeelのカラーパレット tags: [NimbusLookAndFeel, UIDefaults, JProgressBar] author: aterai pubdate: 2012-07-30T13:49:19+09:00 description: NimbusLookAndFeelのカラーパレットを変更します。 image: https://lh4.googleusercontent.com/-ZPZIywXgxwc/UBYR3-EyETI/AAAAAAAABP4/Y2KglYmMKo8/s800/NimbusColorPalette.png

概要

NimbusLookAndFeelのカラーパレットを変更します。

サンプルコード

UIDefaults def = UIManager.getLookAndFeelDefaults();
def.put("nimbusOrange", new Color(255, 220, 35, 200));
View in GitHub: Java, Kotlin

解説

  • 上:
    • NimbusLookAndFeelPrimary Colorsの一つ(上記のサンプルではnimbusOrange)を変更して全体で色を変更

以下の一覧は、Nimbus Defaults (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)より引用

KeyValuePreview
control#d6d9df (214,217,223)
info#f2f2bd (242,242,189)
nimbusAlertYellow#ffdc23 (255,220,35)
nimbusBase#33628c (51,98,140)
nimbusDisabledText#8e8f91 (142,143,145)
nimbusFocus#73a4d1 (115,164,209)
nimbusGreen#b0b332 (176,179,50)
nimbusInfoBlue#2f5cb4 (47,92,180)
nimbusLightBackground#ffffff (255,255,255)
nimbusOrange#bf6204 (191,98,4)
nimbusRed#a92e22 (169,46,34)
nimbusSelectedText#ffffff (255,255,255)
nimbusSelectionBackground#39698a (57,105,138)
text#000000 (0,0,0)
  • 下:
    • 指定した領域を塗りつぶすPainterを作成して、JProgressBar#putClientProperty("Nimbus.Overrides", d);で特定のコンポーネントの色を設定
UIDefaults d = new UIDefaults();
d.put("ProgressBar[Enabled].foregroundPainter", new Painter<JProgressBar>() {
  @Override public void paint(Graphics2D g, JProgressBar c, int w, int h) {
    g.setColor(new Color(100, 250, 120, 50));
    g.fillRect(0, 0, w - 1, h - 1);
    g.setColor(new Color(100, 250, 120, 150));
    g.fillRect(3, h / 2, w - 5, h / 2 - 2);
  }
});
progressbar.putClientProperty("Nimbus.Overrides", d);

参考リンク

コメント