component.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 2,221 行 · 第 1/5 页
JAVA
2,221 行
*
* @return true if the foreground has been set
* @since 1.4
*/
public boolean isForegroundSet() {
return foreground != null;
}
/**
* Returns this component's background color. If not set, this is inherited
* from the parent.
*
* @return the background color of the component, or null
* @see #setBackground(Color)
*/
public Color getBackground() {
if (background != null)
return background;
return parent == null ? null : parent.getBackground();
}
/**
* Sets this component's background color to the specified color. The parts
* of the component affected by the background color may by system dependent.
* This is a bound property.
*
* @param c the new background color
* @see #getBackground()
*/
public void setBackground(Color c) {
firePropertyChange("background", background, c);
if (peer != null)
peer.setBackground(c);
background = c;
}
/**
* Tests if the background was explicitly set, or just inherited from the
* parent.
*
* @return true if the background has been set
* @since 1.4
*/
public boolean isBackgroundSet() {
return background != null;
}
/**
* Returns the font in use for this component. If not set, this is inherited
* from the parent.
*
* @return the font for this component
* @see #setFont(Font)
*/
public Font getFont() {
if (font != null)
return font;
return parent == null ? null : parent.getFont();
}
/**
* Sets the font for this component to the specified font. This is a bound
* property.
*
* @param font the new font for this component
* @see #getFont()
*/
public void setFont(Font f) {
firePropertyChange("font", font, f);
if (peer != null)
peer.setFont(f);
font = f;
}
/**
* Tests if the font was explicitly set, or just inherited from the parent.
*
* @return true if the font has been set
* @since 1.4
*/
public boolean isFontSet() {
return font != null;
}
/**
* Returns the locale for this component. If this component does not
* have a locale, the locale of the parent component is returned.
*
* @return the locale for this component
* @throws IllegalComponentStateException if it has no locale or parent
* @see setLocale(Locale)
* @since 1.1
*/
public Locale getLocale() {
if (locale != null)
return locale;
if (parent == null)
throw new IllegalComponentStateException("Component has no parent: can't determine Locale");
return parent.getLocale();
}
/**
* Sets the locale for this component to the specified locale. This is a
* bound property.
*
* @param locale the new locale for this component
*/
public void setLocale(Locale l) {
firePropertyChange("locale", locale, l);
locale = l;
// New writing/layout direction or more/less room for localized labels.
invalidate();
}
/**
* Returns the color model of the device this componet is displayed on.
*
* @return this object's color model
* @see Toolkit#getColorModel()
*/
public ColorModel getColorModel() {
GraphicsConfiguration config = getGraphicsConfiguration();
return config != null ? config.getColorModel() : getToolkit().getColorModel();
}
/**
* Returns the location of this component's top left corner relative to
* its parent component. This may be outdated, so for synchronous behavior,
* you should use a component listner.
*
* @return the location of this component
* @see #setLocation(int, int)
* @see #getLocationOnScreen()
* @since 1.1
*/
public Point getLocation() {
return new Point(x, y);
}
/**
* Returns the location of this component's top left corner in screen
* coordinates.
*
* @return the location of this component in screen coordinates
* @throws IllegalComponentStateException if the component is not showing
*/
public Point getLocationOnScreen() {
if (!isShowing())
throw new IllegalComponentStateException("component not showing");
// We know peer != null here.
return peer.getLocationOnScreen();
}
/**
* Returns the location of this component's top left corner relative to
* its parent component.
*
* @return the location of this component
* @deprecated use {@link #getLocation()} instead
*/
public Point location() {
return getLocation();
}
/**
* Moves this component to the specified location, relative to the parent's
* coordinates. The coordinates are the new upper left corner of this
* component.
*
* @param x the new X coordinate of this component
* @param y the new Y coordinate of this component
* @see #getLocation()
* @see #setBounds(int, int, int, int)
*/
public void setLocation(int x, int y) {
if (this.x == x && this.y == y)
return;
invalidate();
this.x = x;
this.y = y;
if (peer != null)
peer.setBounds(x, y, width, height);
}
/**
* Moves this component to the specified location, relative to the parent's
* coordinates. The coordinates are the new upper left corner of this
* component.
*
* @param x the new X coordinate of this component
* @param y the new Y coordinate of this component
* @deprecated use {@link #setLocation(int, int)} instead
*/
public void move(int x, int y) {
setLocation(x, y);
}
/**
* Moves this component to the specified location, relative to the parent's
* coordinates. The coordinates are the new upper left corner of this
* component.
*
* @param p new coordinates for this component
* @throws NullPointerException if p is null
* @see #getLocation()
* @see #setBounds(int, int, int, int)
* @since 1.1
*/
public void setLocation(Point p) {
setLocation(p.x, p.y);
}
/**
* Returns the size of this object.
*
* @return the size of this object
* @see #setSize(int, int)
* @since 1.1
*/
public Dimension getSize() {
return new Dimension(width, height);
}
/**
* Returns the size of this object.
*
* @return the size of this object
* @deprecated use {@link #getSize()} instead
*/
public Dimension size() {
return getSize();
}
/**
* Sets the size of this component to the specified width and height.
*
* @param width the new width of this component
* @param height the new height of this component
* @see #getSize()
* @see #setBounds(int, int, int, int)
*/
public void setSize(int width, int height) {
if (this.width == width && this.height == height)
return;
invalidate();
this.width = width;
this.height = height;
if (peer != null)
peer.setBounds(x, y, width, height);
}
/**
* Sets the size of this component to the specified value.
*
* @param width the new width of the component
* @param height the new height of the component
* @deprecated use {@link #setSize(int, int)} instead
*/
public void resize(int width, int height) {
setSize(width, height);
}
/**
* Sets the size of this component to the specified value.
*
* @param d the new size of this component
* @throws NullPointerException if d is null
* @see #setSize(int, int)
* @see #setBounds(int, int, int, int)
* @since 1.1
*/
public void setSize(Dimension d) {
setSize(d.width, d.height);
}
/**
* Sets the size of this component to the specified value.
*
* @param d the new size of this component
* @throws NullPointerException if d is null
* @deprecated use {@link #setSize(Dimension)} instead
*/
public void resize(Dimension d) {
setSize(d.width, d.height);
}
/**
* Returns a bounding rectangle for this component. Note that the
* returned rectange is relative to this component's parent, not to
* the screen.
*
* @return the bounding rectangle for this component
* @see #setBounds(int, int, int, int)
* @see #getLocation()
* @see #getSize()
*/
public Rectangle getBounds() {
return new Rectangle(x, y, width, height);
}
/**
* Returns a bounding rectangle for this component. Note that the
* returned rectange is relative to this component's parent, not to
* the screen.
*
* @return the bounding rectangle for this component
* @deprecated use {@link #getBounds()} instead
*/
public Rectangle bounds() {
return getBounds();
}
/**
* Sets the bounding rectangle for this component to the specified values.
* Note that these coordinates are relative to the parent, not to the screen.
*
* @param x the X coordinate of the upper left corner of the rectangle
* @param y the Y coordinate of the upper left corner of the rectangle
* @param w the width of the rectangle
* @param h the height of the rectangle
* @see #getBounds()
* @see #setLocation(int, int)
* @see #setLocation(Point)
* @see #setSize(int, int)
* @see #setSize(Dimension)
* @since 1.1
*/
public void setBounds(int x, int y, int w, int h) {
if (this.x == x && this.y == y && width == w && height == h) {
return;
}
invalidate();
this.x = x;
this.y = y;
width = w;
height = h;
if (peer != null) {
peer.setBounds(x, y, w, h);
}
}
/**
* Sets the bounding rectangle for this component to the specified values.
* Note that these coordinates are relative to the parent, not to the screen.
*
* @param x the X coordinate of the upper left corner of the rectangle
* @param y the Y coordinate of the upper left corner of the rectangle
* @param w the width of the rectangle
* @param h the height of the rectangle
* @deprecated use {@link #setBounds(int, int, int, int)} instead
*/
public void reshape(int x, int y, int width, int height) {
setBounds(x, y, width, height);
}
/**
* Sets the bounding rectangle for this component to the specified
* rectangle. Note that these coordinates are relative to the parent, not
* to the screen.
*
* @param r the new bounding rectangle
* @throws NullPointerException if r is null
* @see #getBounds()
* @see #setLocation(Point)
* @see #setSize(Dimension)
* @since 1.1
*/
public void setBounds(Rectangle r) {
setBounds(r.x, r.y, r.width, r.height);
}
/**
* Gets the x coordinate of the upper left corner. This is more efficient
* than getBounds().x or getLocation().x.
*
* @return the current x coordinate
* @since 1.2
*/
public int getX() {
return x;
}
/**
* Gets the y coordinate of the upper left corner. This is more efficient
* than getBounds().y or getLocation().y.
*
* @return the current y coordinate
* @since 1.2
*/
public int getY() {
return y;
}
/**
* Gets the width of the component. This is more efficient than
* getBounds().width or getSize().width.
*
* @return the current width
* @since 1.2
*/
public int getWidth() {
return width;
}
/**
* Gets the height of the component. This is more efficient than
* getBounds().height or getSize().height.
*
* @return the current width
* @since 1.2
*/
public int getHeight() {
return height;
}
/**
* Returns the bounds of this component. This allows reuse of an existing
* rectangle, if r is non-null.
*
* @param r the rectangle to use, or null
* @return the bounds
*/
public Rectangle getBounds(Rectangle r) {
if (r == null)
r = new Rectangle();
r.x = x;
r.y = y;
r.width = width;
r.height = height;
return r;
}
/**
* Returns the size of this component. This allows reuse of an existing
* dimension, if d is non-null.
*
* @param d the dimension to use, or null
* @return the size
*/
public Dimension getSize(Dimension d) {
if (d == null)
d = new Dimension();
d.width = width;
d.height = height;
return d;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?