예제 #1
0
 /**
  * Configures the specified component appropriate for the look and feel. This method is invoked
  * when the ComponentUI instance is being installed as the UI delegate on the specified component.
  * This method should completely configure the component for the look and feel, including the
  * following: 1. Install any default property values for color, fonts, borders, icons, opacity,
  * etc. on the component. Whenever possible, property values initialized by the client program
  * should not be overridden. 2. Install a LayoutManager on the component if necessary. 3.
  * Create/add any required sub-components to the component. 4. Create/install event listeners on
  * the component. 5. Create/install a PropertyChangeListener on the component in order to detect
  * and respond to component property changes appropriately. 6. Install keyboard UI (mnemonics,
  * traversal, etc.) on the component. 7. Initialize any appropriate instance data.
  *
  * @param c - the component to install the ui on
  */
 public void installUI(JComponent c) {
   super.installUI(c);
   JScrollBar hsb = scrollpane.getHorizontalScrollBar();
   hsb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, Boolean.FALSE);
   JScrollBar vsb = scrollpane.getVerticalScrollBar();
   vsb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, Boolean.FALSE);
 }
예제 #2
0
 /**
  * Reverses configuration which was done on the specified component during installUI. This method
  * is invoked when this UIComponent instance is being removed as the UI delegate for the specified
  * component. This method should undo the configuration performed in installUI, being careful to
  * leave the JComponent instance in a clean state (no extraneous listeners, look-and-feel-specific
  * property objects, etc.). This should include the following: 1. Remove any UI-set borders from
  * the component. 2. Remove any UI-set layout managers on the component. 3. Remove any UI-added
  * sub-components from the component. 4. Remove any UI-added event/property listeners from the
  * component. 5. Remove any UI-installed keyboard UI from the component. 6. Nullify any allocated
  * instance data objects to allow for GC.
  *
  * @param c - the component to uninstall the ui on
  */
 public void uninstallUI(JComponent c) {
   JScrollBar hsb = scrollpane.getHorizontalScrollBar();
   hsb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, null);
   JScrollBar vsb = scrollpane.getVerticalScrollBar();
   vsb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, null);
   super.uninstallUI(c);
 }
예제 #3
0
  /**
   * Installs some default values for the given scrollpane. The free standing property is disabled
   * here.
   *
   * @param mainColor The reference of the scrollpane to install its default values.
   */
  public void installUI(JComponent c) {
    super.installUI(c);

    // Note: It never happened before Java 1.5 that scrollbar is null
    JScrollBar sb = scrollpane.getHorizontalScrollBar();
    if (sb != null) {
      sb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, Boolean.FALSE);
    }

    sb = scrollpane.getVerticalScrollBar();
    if (sb != null) {
      sb.putClientProperty(MetalScrollBarUI.FREE_STANDING_PROP, Boolean.FALSE);
    }
  }