[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cp-patches] FYI: fix for javax.swing.plaf.basic.BasicScrollBarUI
From: |
Roman Kennke |
Subject: |
[cp-patches] FYI: fix for javax.swing.plaf.basic.BasicScrollBarUI |
Date: |
Mon, 18 Apr 2005 11:52:57 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204 |
Hi,
I commit the attached patch.
2005-04-18 Roman Kennke <address@hidden>
* javax/swing/plaf/basic/BasicScrollBarUI.java
(installUI): Install listeners after everything all, otherwise
we get strange NPEs in some situations, especially with
custom L&Fs.
(createIncreaseButton): Orientation is expected to be
SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
HORIZONTAL or VERTICAL.
(createDecreaseButton): Orientation is expected to be
SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
HORIZONTAL or VERTICAL.
(installComponents): Orientation for buttons is expected to be
SwingConstants.NORTH, ..SOUTH, ..WEST or ..EAST and not
HORIZONTAL or VERTICAL.
/Roman
Index: javax/swing/plaf/basic/BasicScrollBarUI.java
===================================================================
RCS file:
/cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicScrollBarUI.java,v
retrieving revision 1.13
diff -u -r1.13 BasicScrollBarUI.java
--- javax/swing/plaf/basic/BasicScrollBarUI.java 26 Jan 2005 23:32:51
-0000 1.13
+++ javax/swing/plaf/basic/BasicScrollBarUI.java 18 Apr 2005 09:44:14
-0000
@@ -152,8 +152,18 @@
{
incrButton.removeMouseListener(buttonListener);
decrButton.removeMouseListener(buttonListener);
- incrButton = createIncreaseButton(scrollbar.getOrientation());
- decrButton = createDecreaseButton(scrollbar.getOrientation());
+ int orientation = scrollbar.getOrientation();
+ switch (orientation)
+ {
+ case (JScrollBar.HORIZONTAL):
+ incrButton = createIncreaseButton(EAST);
+ decrButton = createDecreaseButton(WEST);
+ break;
+ case (JScrollBar.VERTICAL):
+ incrButton = createIncreaseButton(SOUTH);
+ decrButton = createDecreaseButton(NORTH);
+ break;
+ }
incrButton.addMouseListener(buttonListener);
decrButton.addMouseListener(buttonListener);
calculatePreferredSize();
@@ -513,16 +523,9 @@
protected JButton createIncreaseButton(int orientation)
{
if (incrButton == null)
- incrButton = new BasicArrowButton((orientation ==
SwingConstants.HORIZONTAL)
- ? SwingConstants.EAST
- : SwingConstants.SOUTH);
+ incrButton = new BasicArrowButton(orientation);
else
- {
- if (orientation == SwingConstants.HORIZONTAL)
- ((BasicArrowButton) incrButton).setDirection(SwingConstants.EAST);
- else
- ((BasicArrowButton) incrButton).setDirection(SwingConstants.SOUTH);
- }
+ ((BasicArrowButton) incrButton).setDirection(orientation);
return incrButton;
}
@@ -537,16 +540,9 @@
protected JButton createDecreaseButton(int orientation)
{
if (decrButton == null)
- decrButton = new BasicArrowButton((orientation ==
SwingConstants.HORIZONTAL)
- ? SwingConstants.WEST
- : SwingConstants.NORTH);
+ decrButton = new BasicArrowButton(orientation);
else
- {
- if (orientation == SwingConstants.HORIZONTAL)
- ((BasicArrowButton) decrButton).setDirection(SwingConstants.WEST);
- else
- ((BasicArrowButton) decrButton).setDirection(SwingConstants.NORTH);
- }
+ ((BasicArrowButton) decrButton).setDirection(orientation);
return decrButton;
}
@@ -793,9 +789,19 @@
*/
protected void installComponents()
{
- incrButton = createIncreaseButton(scrollbar.getOrientation());
+ int orientation = scrollbar.getOrientation();
+ switch (orientation)
+ {
+ case (JScrollBar.HORIZONTAL):
+ incrButton = createIncreaseButton(EAST);
+ decrButton = createDecreaseButton(WEST);
+ break;
+ case (JScrollBar.VERTICAL):
+ incrButton = createIncreaseButton(SOUTH);
+ decrButton = createDecreaseButton(NORTH);
+ break;
+ }
scrollbar.add(incrButton);
- decrButton = createDecreaseButton(scrollbar.getOrientation());
scrollbar.add(decrButton);
}
@@ -869,9 +875,9 @@
scrollTimer.setRepeats(true);
installComponents();
- installListeners();
installDefaults();
configureScrollBarColors();
+ installListeners();
calculatePreferredSize();
layoutContainer(scrollbar);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cp-patches] FYI: fix for javax.swing.plaf.basic.BasicScrollBarUI,
Roman Kennke <=