• 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

解説

  • 上:
  • JProgressBar:
    • NimbusLookAndFeelPrimary Colorsの一つ(上記のサンプルではnimbusOrange)を変更して全体で色を変更
以下の一覧は、Nimbus Defaults (The Java™ Tutorials > Creating a GUI With JFC/Swing > Modifying the Look and Feel)より引用
  • 以下の一覧表は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);で特定のコンポーネントの色を設定
  • JProgressBar:
    • 指定した領域を塗りつぶす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);
      

参考リンク

コメント