1. /*
  2. * @(#)WindowsSpinnerUI.java 1.10 03/01/23
  3. *
  4. * Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  5. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
  6. */
  7. package com.sun.java.swing.plaf.windows;
  8. import java.awt.*;
  9. import java.awt.event.*;
  10. import javax.swing.plaf.basic.*;
  11. import javax.swing.plaf.*;
  12. import javax.swing.*;
  13. public class WindowsSpinnerUI extends BasicSpinnerUI {
  14. public static ComponentUI createUI(JComponent c) {
  15. return new WindowsSpinnerUI();
  16. }
  17. protected Component createPreviousButton() {
  18. AbstractButton classicButton = (AbstractButton)super.createPreviousButton();
  19. if (XPStyle.getXP() != null) {
  20. JButton xpButton = new XPStyle.GlyphButton("spin.down");
  21. xpButton.setRequestFocusEnabled(false);
  22. xpButton.addActionListener((ActionListener)getUIResource(classicButton.getActionListeners()));
  23. xpButton.addMouseListener((MouseListener)getUIResource(classicButton.getMouseListeners()));
  24. return xpButton;
  25. } else {
  26. return classicButton;
  27. }
  28. }
  29. protected Component createNextButton() {
  30. AbstractButton classicButton = (AbstractButton)super.createNextButton();
  31. if (XPStyle.getXP() != null) {
  32. JButton xpButton = new XPStyle.GlyphButton("spin.up");
  33. xpButton.setRequestFocusEnabled(false);
  34. xpButton.addActionListener((ActionListener)getUIResource(classicButton.getActionListeners()));
  35. xpButton.addMouseListener((MouseListener)getUIResource(classicButton.getMouseListeners()));
  36. return xpButton;
  37. } else {
  38. return classicButton;
  39. }
  40. }
  41. private UIResource getUIResource(Object[] listeners) {
  42. for (int counter = 0; counter < listeners.length; counter++) {
  43. if (listeners[counter] instanceof UIResource) {
  44. return (UIResource)listeners[counter];
  45. }
  46. }
  47. return null;
  48. }
  49. }