title: Set look and feel color
body: <p>I'm using the Nimbus Look &amp; Feel within my Java Swing application.
  The L&amp;F looks great, but i need to change some settings (Fonts, Colors, ... ) to fit the corporate identity of my firm.</p>
  
  <p>The following code sets the L&amp;F of the whole application:
  <br/>
  <code></p>
  
  <pre><code>try {
      for( LookAndFeelInfo info : UIManager.getInstalledLookAndFeels() ) {
          if( "Nimbus".equals( info.getName() ) ) {
              UIManager.setLookAndFeel(info.getClassName());
              customizeNimbusLaF();
              break;
          }
      }
  }
  catch( Exception e ) {
      LogUtility.warning( "cannot set application look and feel" );
      LogUtility.warning( e.getMessage() );
  }
  </code></pre>
  
  <p></code>
  <br/>
  The code does, what it is supposed to do (setting the Nimbus Look &amp; Feel).
  The problem is, that the <code>customizeNimbusLaF()</code> does not work, as i expect it to do.
  <br/>
  <code></p>
  
  <pre><code>private final void customizeNimbusLaF() {       
      UIManager.put( "control" , UIConstants.GREY_LIGHT );
      UIManager.put( "nimbusAlertYellow" , UIConstants.YELLOW );
      UIManager.put( "nimbusBase" , UIConstants.GREY_DARK );
      UIManager.put( "nimbusDisabledText" , UIConstants.GREY_DARK );
      UIManager.put( "nimbusFocus" , UIConstants.BLUE_LIGHT );
      UIManager.put( "nimbusGreen" , UIConstants.GREEN );
      UIManager.put( "nimbusInfoBlue" , UIConstants.BLUE_MIDDLE );
      UIManager.put( "nimbusRed", UIConstants.RED );
      UIManager.put( "nimbusSelectionBackground",
      UIConstants.BLUE_MIDDLE );
  
      UIManager.put( "background" ,UIConstants.GREY_LIGHT );
      UIManager.put( "controlDkShadow" , UIConstants.GREY_DARK );
      UIManager.put( "controlShadow", UIConstants.GREY_MIDDLE );
      UIManager.put( "desktop", UIConstants.BLUE_MIDDLE );
      UIManager.put( "menu", UIConstants.GREY_LIGHT );
      UIManager.put( "nimbusBorder", UIConstants.GREY_MIDDLE );
      UIManager.put( "nimbusSelection", UIConstants.BLUE_MIDDLE );
      UIManager.put( "textBackground", UIConstants.BLUE_LIGHT );
      UIManager.put( "textHighlight", UIConstants.BLUE_LIGHT );
      UIManager.put( "textInactiveText", UIConstants.GREY_MIDDLE );
  
      // panel
      UIManager.put( "Panel.background", UIConstants.GREY_LIGHT );
      UIManager.put( "Panel.disabled", UIConstants.GREY_LIGHT );
      UIManager.put( "Panel.font", UIConstants.DEFAULT_FONT );
      UIManager.put( "Panel.opaque", true );
  
      // button
      UIManager.put( "Button.background", UIConstants.GREY_LIGHT );
      UIManager.put( "Button.disabled", UIConstants.GREY_LIGHT );
      UIManager.put( "Button.disabledText", UIConstants.BLUE_MIDDLE );
      UIManager.put( "Button.font", UIConstants.DEFAULT_FONT );
  
      // menu
      UIManager.put( "Menu.background", UIConstants.GREY_LIGHT );
      UIManager.put( "Menu.disabled", UIConstants.GREY_LIGHT );
      UIManager.put( "Menu.disabledText", UIConstants.GREY_DARK );
      UIManager.put( "Menu.font", UIConstants.MENU_FONT );
      UIManager.put( "Menu.foreground", UIConstants.BLACK );
      UIManager.put( "Menu[Disabled].textForeground",
              UIConstants.GREY_MIDDLE );
      UIManager.put( "Menu[Enabled].textForeground", UIConstants.BLACK );
      UIManager.put( "MenuBar.background", UIConstants.GREY_LIGHT );
      UIManager.put( "MenuBar.disabled", UIConstants.GREY_LIGHT );
      UIManager.put( "MenuBar.font", UIConstants.MENU_FONT );
      UIManager.put( "MenuBar:Menu[Disabled].textForeground",
              UIConstants.GREY_MIDDLE );
      UIManager.put( "MenuBar:Menu[Enabled].textForeground",
              UIConstants.BLACK );
      UIManager.put( "MenuItem.background", UIConstants.GREY_LIGHT );
      UIManager.put( "MenuItem.disabled", UIConstants.GREY_LIGHT );
      UIManager.put( "MenuItem.disabledText", UIConstants.GREY_MIDDLE );
      UIManager.put( "MenuItem.font", UIConstants.MENU_FONT );
      UIManager.put( "MenuItem.foreground", UIConstants.BLACK );
      UIManager.put( "MenuItem[Disabled].textForeground",
              UIConstants.GREY_MIDDLE );
      UIManager.put( "MenuItem[Enabled].textForeground",
              UIConstants.BLACK );
  
      // tree
      UIManager.put( "Tree.background", UIConstants.BLACK );      
  }
  </code></pre>
  
  <p></code>
  <br/></p>
  
  <p>The datatypes of the constants in <code>UIConstants</code> are either of type <code>Color</code> of <code>Font</code> depending of the attribute to be set.</p>
  
  <p>The problem is, that only a few look &amp; feel options change. Options like the background of the tree do not change according to the options on the look &amp; feel. I am aware of this, that a few things only change, if I change the painter of a component. But e.g. JPanel does not have such a painter property, but makes problems too.</p>
  
  <p>I have a second question concerning the look &amp; feel:
  Aren't the painters of e.g. the menuBar supposed to use the colors, which are set in the primary color section, or do I need to implement my own painters for this use?</p>
  
  <p>Can someone tell me where my problem is?</p>