Example #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);
 }
Example #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);
 }
Example #3
0
 /** {@inheritDoc} */
 @Override
 protected void uninstallListeners(JComponent c) {
   super.uninstallListeners(c);
   c.removePropertyChangeListener(this);
   if (viewportViewFocusHandler != null) {
     JViewport viewport = ((JScrollPane) c).getViewport();
     viewport.removeContainerListener(viewportViewFocusHandler);
     if (viewport.getView() != null) {
       viewport.getView().removeFocusListener(viewportViewFocusHandler);
     }
     viewportViewFocusHandler = null;
   }
 }
Example #4
0
 /** {@inheritDoc} */
 @Override
 protected void installListeners(JScrollPane c) {
   super.installListeners(c);
   c.addPropertyChangeListener(this);
   if (UIManager.getBoolean("ScrollPane.useChildTextComponentFocus")) {
     viewportViewFocusHandler = new ViewportViewFocusHandler();
     c.getViewport().addContainerListener(viewportViewFocusHandler);
     Component view = c.getViewport().getView();
     if (view instanceof JTextComponent) {
       view.addFocusListener(viewportViewFocusHandler);
     }
   }
 }
Example #5
0
 /**
  * Uninstalls listeners on scrollPane
  *
  * @param scrollPane - the component to uninstall the listeners on
  */
 public void uninstallListeners(JScrollPane scrollPane) {
   super.uninstallListeners(scrollPane);
 }