Imported GNU Classpath 0.92

2006-08-14  Mark Wielaard  <mark@klomp.org>

       Imported GNU Classpath 0.92
       * HACKING: Add more importing hints. Update automake version
       requirement.

       * configure.ac (gconf-peer): New enable AC argument.
       Add --disable-gconf-peer and --enable-default-preferences-peer
       to classpath configure when gconf is disabled.
       * scripts/makemake.tcl: Set gnu/java/util/prefs/gconf and
       gnu/java/awt/dnd/peer/gtk to bc. Classify
       gnu/java/security/Configuration.java as generated source file.

       * gnu/java/lang/management/VMGarbageCollectorMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryPoolMXBeanImpl.java,
       gnu/java/lang/management/VMClassLoadingMXBeanImpl.java,
       gnu/java/lang/management/VMRuntimeMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryManagerMXBeanImpl.java,
       gnu/java/lang/management/VMThreadMXBeanImpl.java,
       gnu/java/lang/management/VMMemoryMXBeanImpl.java,
       gnu/java/lang/management/VMCompilationMXBeanImpl.java: New VM stub
       classes.
       * java/lang/management/VMManagementFactory.java: Likewise.
       * java/net/VMURLConnection.java: Likewise.
       * gnu/java/nio/VMChannel.java: Likewise.

       * java/lang/Thread.java (getState): Add stub implementation.
       * java/lang/Class.java (isEnum): Likewise.
       * java/lang/Class.h (isEnum): Likewise.

       * gnu/awt/xlib/XToolkit.java (getClasspathTextLayoutPeer): Removed.

       * javax/naming/spi/NamingManager.java: New override for StackWalker
       functionality.

       * configure, sources.am, Makefile.in, gcj/Makefile.in,
       include/Makefile.in, testsuite/Makefile.in: Regenerated.

From-SVN: r116139
This commit is contained in:
Mark Wielaard 2006-08-14 23:12:35 +00:00
parent abab460491
commit ac1ed908de
1294 changed files with 99479 additions and 35933 deletions

View file

@ -46,6 +46,7 @@ import java.awt.Image;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.KeyEvent;
import java.beans.PropertyChangeEvent;
import javax.accessibility.Accessible;
import javax.accessibility.AccessibleContext;
@ -57,7 +58,7 @@ import javax.swing.text.AttributeSet;
import javax.swing.text.SimpleAttributeSet;
/**
* A swing widget that displays a text message and/or an icon.
* A component that displays a static text message and/or an icon.
*/
public class JLabel extends JComponent implements Accessible, SwingConstants
{
@ -359,7 +360,7 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
/** The label's mnemnonic key. */
private transient int displayedMnemonic = KeyEvent.VK_UNDEFINED;
/** The index of the menemonic character in the text. */
/** The index of the mnemonic character in the text. */
private transient int displayedMnemonicIndex = -1;
/** The gap between the icon and the text. */
@ -435,11 +436,12 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
this.icon = icon;
this.horizontalAlignment = horizontalAlignment;
setAlignmentX(0.0F);
setInheritsPopupMenu(true);
updateUI();
}
/**
* This method returns the label's UI delegate.
* Returns the label's UI delegate.
*
* @return The label's UI delegate.
*/
@ -449,9 +451,9 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method sets the label's UI delegate.
* Sets the label's UI delegate.
*
* @param ui The label's UI delegate.
* @param ui The label's UI delegate (<code>null</code> not permitted).
*/
public void setUI(LabelUI ui)
{
@ -459,8 +461,8 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method resets the label's UI delegate to the default UI for the
* current look and feel.
* Resets the label's UI delegate to the default UI for the current look and
* feel.
*/
public void updateUI()
{
@ -468,10 +470,10 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns a name to identify which look and feel class will be
* Returns a name to identify which look and feel class will be
* the UI delegate for this label.
*
* @return The UIClass identifier. "LabelUI"
* @return <code>"LabelUI"</code>
*/
public String getUIClassID()
{
@ -518,9 +520,11 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the label text.
* Returns the text displayed by the label.
*
* @return The label text.
* @return The label text (possibly <code>null</code>).
*
* @see #setText(String)
*/
public String getText()
{
@ -528,31 +532,42 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "text" property. The given text will be painted
* in the label.
* Sets the text for the label and sends a {@link PropertyChangeEvent} (with
* the name 'text') to all registered listeners. This method will also
* update the <code>displayedMnemonicIndex</code>, if necessary.
*
* @param newText The label's text.
* @param newText The text (<code>null</code> permitted).
*
* @see #getText()
* @see #getDisplayedMnemonicIndex()
*/
public void setText(String newText)
{
if (text != newText)
{
String oldText = text;
text = newText;
firePropertyChange("text", oldText, newText);
if (text == null && newText == null)
return;
if (text != null && text.equals(newText))
return;
if (text != null && text.length() <= displayedMnemonicIndex)
setDisplayedMnemonicIndex(text.length() - 1);
revalidate();
repaint();
}
String oldText = text;
text = newText;
firePropertyChange("text", oldText, newText);
if (text != null)
setDisplayedMnemonicIndex(text.toUpperCase().indexOf(displayedMnemonic));
else
setDisplayedMnemonicIndex(-1);
revalidate();
repaint();
}
/**
* This method returns the active icon. The active icon is painted when the
* label is enabled.
* Returns the active icon. The active icon is painted when the label is
* enabled.
*
* @return The active icon.
*
* @see #setIcon(Icon)
* @see #getDisabledIcon()
*/
public Icon getIcon()
{
@ -560,81 +575,93 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "icon" property. This icon (the active icon) will
* be the one displayed when the label is enabled.
* Sets the icon for the label (this is a bound property with the name
* 'icon'). This icon will be displayed when the label is enabled.
*
* @param newIcon The active icon.
* @param newIcon The icon (<code>null</code> permitted).
*
* @see #getIcon()
* @see #setDisabledIcon(Icon)
*/
public void setIcon(Icon newIcon)
{
if (icon != newIcon)
{
Icon oldIcon = icon;
icon = newIcon;
firePropertyChange("icon", oldIcon, newIcon);
repaint();
Icon oldIcon = icon;
icon = newIcon;
firePropertyChange("icon", oldIcon, newIcon);
repaint();
}
}
/**
* This method returns the disabled icon. The disabled icon is painted when
* the label is disabled. If the disabled icon is null and the active icon
* is an ImageIcon, this method returns a grayed version of the icon. The
* grayed version of the icon becomes the disabledIcon.
* Returns the disabled icon. The disabled icon is painted when the label is
* disabled. If the disabled icon is <code>null</code> and the active icon
* is an {@link ImageIcon}, this method returns a grayed version of the icon.
* The grayed version of the icon becomes the <code>disabledIcon</code>.
*
* @return The disabled icon.
*
* @see #setDisabledIcon(Icon)
*/
public Icon getDisabledIcon()
{
if (disabledIcon == null && icon instanceof ImageIcon)
disabledIcon = new ImageIcon(GrayFilter.createDisabledImage(((ImageIcon) icon)
.getImage()));
disabledIcon = new ImageIcon(
GrayFilter.createDisabledImage(((ImageIcon) icon).getImage()));
return disabledIcon;
}
/**
* This method changes the "disabledIcon" property. This icon (the disabled
* icon) will be the one displayed when the label is disabled.
* Sets the icon displayed when the label is disabled (this is a bound
* property with the name 'disabledIcon').
*
* @param newIcon The disabled icon.
* @param newIcon The disabled icon (<code>null</code> permitted).
*
* @see #getDisabledIcon()
*/
public void setDisabledIcon(Icon newIcon)
{
if (disabledIcon != newIcon)
{
Icon oldIcon = disabledIcon;
disabledIcon = newIcon;
firePropertyChange("disabledIcon", oldIcon, newIcon);
Icon oldIcon = disabledIcon;
disabledIcon = newIcon;
firePropertyChange("disabledIcon", oldIcon, newIcon);
}
}
/**
* This method sets the keycode that will be the label's mnemonic. If the
* label is used as a label for another component, the label will give
* focus to that component when the mnemonic is activated.
* Sets the keycode that will be the label's mnemonic (this is a bound
* property with the name 'displayedMnemonic'). If the label is used as a
* label for another component, the label will give focus to that component
* when the mnemonic is activated.
*
* @param mnemonic The keycode to use for the mnemonic.
*
* @see #getDisplayedMnemonic()
*/
public void setDisplayedMnemonic(int mnemonic)
{
if (displayedMnemonic != mnemonic)
{
firePropertyChange("displayedMnemonic",
displayedMnemonic, mnemonic);
displayedMnemonic = mnemonic;
if (text != null)
setDisplayedMnemonicIndex(text.toUpperCase().indexOf(mnemonic));
int old = displayedMnemonic;
displayedMnemonic = mnemonic;
firePropertyChange("displayedMnemonic", old, displayedMnemonic);
if (text != null)
setDisplayedMnemonicIndex(text.toUpperCase().indexOf(mnemonic));
}
}
/**
* This method sets the character that will be the mnemonic used. If the
* Sets the character that will be the label's mnemonic. If the
* label is used as a label for another component, the label will give
* focus to that component when the mnemonic is activated.
* focus to that component when the mnemonic is activated via the keyboard.
*
* @param mnemonic The character to use for the mnemonic.
* @param mnemonic The character to use for the mnemonic (this will be
* converted to the equivalent upper case character).
*
* @see #getDisplayedMnemonic()
*/
public void setDisplayedMnemonic(char mnemonic)
{
@ -642,51 +669,63 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the keycode that is used for the label's mnemonic.
* Returns the keycode that is used for the label's mnemonic.
*
* @return The keycode that is used for the label's mnemonic.
*
* @see #setDisplayedMnemonic(int)
*/
public int getDisplayedMnemonic()
{
return (int) displayedMnemonic;
return displayedMnemonic;
}
/**
* This method sets which character in the text will be the underlined
* character. If the given index is -1, then this indicates that there is
* no mnemonic. If the index is less than -1 or if the index is equal to
* the length, this method will throw an IllegalArgumentException.
* Sets the index of the character in the text that will be underlined to
* indicate that it is the mnemonic character for the label. You only need
* to call this method if you wish to override the automatically calculated
* character index. For instance, for a label "Find Next" with the mnemonic
* character 'n', you might wish to underline the second occurrence of 'n'
* rather than the first (which is the default).
* <br><br>
* Note that this method does not validate the character at the specified
* index to ensure that it matches the key code returned by
* {@link #getDisplayedMnemonic()}.
*
* @param newIndex The index of the character to underline.
*
* @throws IllegalArgumentException If index less than -1 or index equals
* length.
* @throws IllegalArgumentException If index less than -1 or index is greater
* than or equal to the label length.
*
* @see #getDisplayedMnemonicIndex()
* @since 1.4
*/
public void setDisplayedMnemonicIndex(int newIndex)
throws IllegalArgumentException
{
if (newIndex < -1 || (text != null && newIndex >= text.length()))
int maxValid = -1;
if (text != null)
maxValid = text.length() - 1;
if (newIndex < -1 || newIndex > maxValid)
throw new IllegalArgumentException();
if (newIndex == -1
|| text == null
|| text.charAt(newIndex) != displayedMnemonic)
newIndex = -1;
if (newIndex != displayedMnemonicIndex)
{
int oldIndex = displayedMnemonicIndex;
displayedMnemonicIndex = newIndex;
firePropertyChange("displayedMnemonicIndex",
oldIndex, newIndex);
int oldIndex = displayedMnemonicIndex;
displayedMnemonicIndex = newIndex;
firePropertyChange("displayedMnemonicIndex", oldIndex, newIndex);
}
}
/**
* This method returns which character in the text will be the underlined
* character.
* Returns the index of the character in the label's text that will be
* underlined (to indicate that it is the mnemonic character), or -1 if no
* character is to be underlined.
*
* @return The index of the character that will be underlined.
*
* @see #setDisplayedMnemonicIndex(int)
* @since 1.4
*/
public int getDisplayedMnemonicIndex()
{
@ -694,14 +733,16 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method ensures that the key is valid as a horizontal alignment.
* Valid keys are: LEFT, CENTER, RIGHT, LEADING, TRAILING
* Checks the specified key to ensure that it is valid as a horizontal
* alignment, throwing an {@link IllegalArgumentException} if the key is
* invalid. Valid keys are {@link #LEFT}, {@link #CENTER}, {@link #RIGHT},
* {@link #LEADING} and {@link #TRAILING}.
*
* @param key The key to check.
* @param message The message of the exception to be thrown if the key is
* invalid.
*
* @return The key if it's valid.
* @return The key if it is valid.
*
* @throws IllegalArgumentException If the key is invalid.
*/
@ -715,14 +756,15 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method ensures that the key is valid as a vertical alignment. Valid
* keys are: TOP, CENTER, and BOTTOM.
* Checks the specified key to ensure that it is valid as a vertical
* alignment, throwing an {@link IllegalArgumentException} if the key is
* invalid. Valid keys are {@link #TOP}, {@link #CENTER} and {@link #BOTTOM}.
*
* @param key The key to check.
* @param message The message of the exception to be thrown if the key is
* invalid.
*
* @return The key if it's valid.
* @return The key if it is valid.
*
* @throws IllegalArgumentException If the key is invalid.
*/
@ -735,9 +777,11 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the gap between the icon and the text.
* Returns the gap between the icon and the text.
*
* @return The gap between the icon and the text.
*
* @see #setIconTextGap(int)
*/
public int getIconTextGap()
{
@ -745,10 +789,12 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "iconTextGap" property. The iconTextGap
* determines how much space there is between the icon and the text.
* Sets the gap between the icon and the text, in the case that both are
* visible (this is a bound property with the name 'iconTextGap').
*
* @param newGap The gap between the icon and the text.
* @param newGap The gap (in pixels).
*
* @see #getIconTextGap()
*/
public void setIconTextGap(int newGap)
{
@ -760,9 +806,13 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the vertical alignment of the label.
* Returns the vertical alignment of the label (one of
* {@link #TOP}, {@link #CENTER} and {@link #BOTTOM}). The default value
* depends on the installed look and feel, but is usually {@link #CENTER}.
*
* @return The vertical alignment of the label.
* @return The vertical alignment.
*
* @see #setVerticalAlignment(int)
*/
public int getVerticalAlignment()
{
@ -770,12 +820,18 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "verticalAlignment" property of the label. The
* vertical alignment determines how where the label will be placed
* vertically. If the alignment is not valid, it will default to the
* center.
* Sets the vertical alignment for the label (this is a bound property with
* the name 'verticalAlignment'). The vertical alignment determines where
* the label (icon and text) will be placed vertically within the component
* bounds. Valid alignment codes are {@link #TOP}, {@link #CENTER} and
* {@link #BOTTOM}.
*
* @param alignment The vertical alignment of the label.
*
* @throws IllegalArgumentException if <code>alignment</code> is not one of
* the specified values.
*
* @see #getVerticalAlignment()
*/
public void setVerticalAlignment(int alignment)
{
@ -788,9 +844,14 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the horziontal alignment of the label.
* Returns the horizontal alignment of the label (one of {@link #LEFT},
* {@link #CENTER}, {@link #RIGHT}, {@link #LEADING} and {@link #TRAILING}).
* The default value depends on the installed look and feel, but is usually
* {@link #LEFT}.
*
* @return The horizontal alignment of the label.
* @return The horizontal alignment.
*
* @see #setHorizontalAlignment(int)
*/
public int getHorizontalAlignment()
{
@ -798,10 +859,18 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "horizontalAlignment" property. The horizontal
* alignment determines where the label will be placed horizontally.
* Sets the horizontal alignment for the label (this is a bound property with
* the name 'horizontalAlignment'). The horizontal alignment determines where
* the label (icon and text) will be placed horizontally within the
* component bounds. Valid alignment codes are {@link #LEFT},
* {@link #CENTER}, {@link #RIGHT}, {@link #LEADING} and {@link #TRAILING}.
*
* @param alignment The horizontal alignment of the label.
*
* @throws IllegalArgumentException if <code>alignment</code> is not one of
* the specified values.
*
* @see #getHorizontalAlignment()
*/
public void setHorizontalAlignment(int alignment)
{
@ -815,9 +884,12 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the vertical text position of the label.
*
* @return The vertical text position of the label.
* Returns the vertical position of the label's text relative to the icon.
* This will be one of {@link #TOP}, {@link #CENTER} and {@link #BOTTOM}.
*
* @return The vertical position of the label's text relative to the icon.
*
* @see #setVerticalTextPosition(int)
*/
public int getVerticalTextPosition()
{
@ -825,28 +897,35 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "verticalTextPosition" property of the label. The
* vertical text position determines where the text will be placed
* vertically relative to the icon.
* Sets the vertical position of the label's text relative to the icon (this
* is a bound property with the name 'verticalTextPosition'). Valid
* positions are {@link #TOP}, {@link #CENTER} and {@link #BOTTOM}.
*
* @param textPosition The vertical text position.
*
* @throws IllegalArgumentException if <code>textPosition</code> is not one
* of the specified values.
*/
public void setVerticalTextPosition(int textPosition)
{
if (textPosition != verticalTextPosition)
{
int oldPos = verticalTextPosition;
verticalTextPosition = checkVerticalKey(textPosition,
"verticalTextPosition");
firePropertyChange("verticalTextPosition", oldPos,
verticalTextPosition);
int oldPos = verticalTextPosition;
verticalTextPosition = checkVerticalKey(textPosition,
"verticalTextPosition");
firePropertyChange("verticalTextPosition", oldPos,
verticalTextPosition);
}
}
/**
* This method returns the horizontal text position of the label.
*
* @return The horizontal text position.
* Returns the horizontal position of the label's text relative to the icon.
* This will be one of {@link #LEFT}, {@link #CENTER}, {@link #RIGHT},
* {@link #LEADING} and {@link #TRAILING}.
*
* @return The horizontal position of the label's text relative to the icon.
*
* @see #setHorizontalTextPosition(int)
*/
public int getHorizontalTextPosition()
{
@ -854,28 +933,31 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "horizontalTextPosition" property of the label.
* The horizontal text position determines where the text will be placed
* horizontally relative to the icon.
* Sets the horizontal position of the label's text relative to the icon (this
* is a bound property with the name 'horizontalTextPosition'). Valid
* positions are {@link #LEFT}, {@link #CENTER}, {@link #RIGHT},
* {@link #LEADING} and {@link #TRAILING}.
*
* @param textPosition The horizontal text position.
*
* @throws IllegalArgumentException if <code>textPosition</code> is not one
* of the specified values.
*/
public void setHorizontalTextPosition(int textPosition)
{
if (textPosition != horizontalTextPosition)
{
int oldPos = horizontalTextPosition;
horizontalTextPosition = checkHorizontalKey(textPosition,
"horizontalTextPosition");
firePropertyChange("horizontalTextPosition", oldPos,
horizontalTextPosition);
int oldPos = horizontalTextPosition;
horizontalTextPosition = checkHorizontalKey(textPosition,
"horizontalTextPosition");
firePropertyChange("horizontalTextPosition", oldPos,
horizontalTextPosition);
}
}
/**
* This method simply returns false if the current icon image (current icon
* will depend on whether the label is enabled) is not equal to the passed
* in image.
* Returns false if the current icon image (current icon will depend on
* whether the label is enabled) is not equal to the passed in image.
*
* @param img The image to check.
* @param infoflags The bitwise inclusive OR of ABORT, ALLBITS, ERROR,
@ -900,11 +982,11 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method returns the component that the label gives focus to when the
* mnemonic is activated.
* Returns the component that this <code>JLabel</code> is providing the label
* for. This component will typically receive the focus when the label's
* mnemonic key is activated via the keyboard.
*
* @return The component that gets focus when the label's mnemonic is
* activated.
* @return The component (possibly <code>null</code>).
*/
public Component getLabelFor()
{
@ -912,12 +994,14 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method changes the "labelFor" property. The component that the label
* is acting as a label for will request focus when the label's mnemonic
* is activated.
* Sets the component that this <code>JLabel</code> is providing the label
* for (this is a bound property with the name 'labelFor'). This component
* will typically receive the focus when the label's mnemonic key is
* activated via the keyboard.
*
* @param c The component that gets focus when the label's mnemonic is
* activated.
* @param c the component (<code>null</code> permitted).
*
* @see #getLabelFor()
*/
public void setLabelFor(Component c)
{
@ -946,10 +1030,9 @@ public class JLabel extends JComponent implements Accessible, SwingConstants
}
/**
* This method overrides setFont so that we can call for a repaint after the
* font is changed.
* Sets the font for the label (this a bound property with the name 'font').
*
* @param f The font for this label.
* @param f The font (<code>null</code> permitted).
*/
public void setFont(Font f)
{