📄 component.java
字号:
* Determines whether this component is enabled. An enabled component
* can respond to user input and generate events. Components are
* enabled initially by default. A component may be enabled or disabled by
* calling its <code>setEnabled</code> method.
* @return <code>true</code> if the component is enabled;
* <code>false</code> otherwise.
* @see #setEnabled
* @since JDK1.0
*/
public boolean isEnabled() {
return enabled;
}
/**
* Enables or disables this component, depending on the value of the
* parameter <code>b</code>. An enabled component can respond to user
* input and generate events. Components are enabled initially by default.
* @param <code>b</code> If <code>true</code>, this component is
* enabled; otherwise this component is disabled.
* @see #isEnabled
* @since JDK1.1
*/
public void setEnabled(boolean b) {
enable(b);
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setEnabled(boolean)</code>.
*/
public void enable() {
if (enabled != true) {
//synchronized (getTreeLock()) { // Removed for Bug #4114201
enabled = true;
ComponentPeer peer = this.peer;
if (peer != null) {
peer.enable();
}
//}
}
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setEnabled(boolean)</code>.
*/
public void enable(boolean b) {
if (b) {
enable();
} else {
disable();
}
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setEnabled(boolean)</code>.
*/
public void disable() {
if (enabled != false) {
//synchronized (getTreeLock()) { //Removed for Bug #4114201
enabled = false;
ComponentPeer peer = this.peer;
if (peer != null) {
peer.disable();
}
//}
}
}
/**
* Shows or hides this component depending on the value of parameter
* <code>b</code>.
* @param <code>b</code> If <code>true</code>, shows this component;
* otherwise, hides this component.
* @see #isVisible
* @since JDK1.1
*/
public void setVisible(boolean b) {
show(b);
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setVisible(boolean)</code>.
*/
public void show() {
if (visible != true) {
//synchronized (getTreeLock()) { //Removed for Bug #4114201
visible = true;
ComponentPeer peer = this.peer;
if (peer != null) {
peer.show();
if (peer instanceof java.awt.peer.LightweightPeer) {
repaint();
}
}
if (componentListener != null ||
(eventMask & AWTEvent.COMPONENT_EVENT_MASK) != 0) {
ComponentEvent e = new ComponentEvent(this,
ComponentEvent.COMPONENT_SHOWN);
Toolkit.getEventQueue().postEvent(e);
}
//}
Container parent = this.parent;
if (parent != null) {
parent.invalidate();
}
}
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setVisible(boolean)</code>.
*/
public void show(boolean b) {
if (b) {
show();
} else {
hide();
}
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setVisible(boolean)</code>.
*/
public void hide() {
if (visible != false) {
synchronized (getTreeLock()) {
visible = false;
ComponentPeer peer = this.peer;
if (peer != null) {
peer.hide();
if (peer instanceof java.awt.peer.LightweightPeer) {
repaint();
}
}
if (componentListener != null ||
(eventMask & AWTEvent.COMPONENT_EVENT_MASK) != 0) {
ComponentEvent e = new ComponentEvent(this,
ComponentEvent.COMPONENT_HIDDEN);
Toolkit.getEventQueue().postEvent(e);
}
Container parent = this.parent;
if (parent != null) {
parent.invalidate();
}
}
}
}
/**
* Gets the foreground color of this component.
* @return This component's foreground color. If this component does
* not have a foreground color, the foreground color of its parent
* is returned.
* @see #java.awt.Component#setForeground(java.awt.Color)
* @since JDK1.0
*/
public Color getForeground() {
Color foreground = this.foreground;
if (foreground != null) {
return foreground;
}
Container parent = this.parent;
return (parent != null) ? parent.getForeground() : null;
}
/**
* Sets the foreground color of this component.
* @param <code>c</code> The color to become this component's
* foreground color.
* @see #getForeground
* @since JDK1.0
*/
public void setForeground(Color c) {
ComponentPeer peer = this.peer;
foreground = c;
if (peer != null) {
c = getForeground();
if (c != null) {
peer.setForeground(c);
}
}
}
/**
* Gets the background color of this component.
* @return This component's background color. If this component does
* not have a background color, the background color of its parent
* is returned.
* @see java.awt.Component#setBackground(java.awt.Color)
* @since JDK1.0
*/
public Color getBackground() {
Color background = this.background;
if (background != null) {
return background;
}
Container parent = this.parent;
return (parent != null) ? parent.getBackground() : null;
}
/**
* Sets the background color of this component.
* @param <code>c</code> The color to become this component's
* background color.
* @see #getBackground
* @since JDK1.0
*/
public void setBackground(Color c) {
ComponentPeer peer = this.peer;
background = c;
if (peer != null) {
c = getBackground();
if (c != null) {
peer.setBackground(c);
}
}
}
/**
* Gets the font of this component.
* @return This component's font. If a font has not been set
* for this component, the font of its parent is returned.
* @see #setFont
* @since JDK1.0
*/
public Font getFont() {
Font font = this.font;
if (font != null) {
return font;
}
Container parent = this.parent;
return (parent != null) ? parent.getFont() : null;
}
/**
* Sets the font of this component.
* @param <code>f</code> The font to become this component's font.
* @see #getFont
* @since JDK1.0
*/
public void setFont(Font f) {
synchronized (getTreeLock()) {
ComponentPeer peer = this.peer;
font = f;
if (peer != null) {
f = getFont();
if (f != null) {
peer.setFont(f);
}
}
}
}
/**
* Gets the locale of this component.
* @return This component's locale. If this component does not
* have a locale, the locale of its parent is returned.
* @see #setLocale
* @exception IllegalComponentStateException If the Component
* does not have its own locale and has not yet been added to
* a containment hierarchy such that the locale can be determined
* from the containing parent.
* @since JDK1.1
*/
public Locale getLocale() {
Locale locale = this.locale;
if (locale != null) {
return locale;
}
Container parent = this.parent;
if (parent == null) {
throw new IllegalComponentStateException("This component must have a parent in order to determine its locale");
} else {
return parent.getLocale();
}
}
/**
* Sets the locale of this component.
* @param <code>l</code> The locale to become this component's locale.
* @see #getLocale
* @since JDK1.1
*/
public void setLocale(Locale l) {
locale = l;
}
/**
* Gets the instance of <code>ColorModel</code> used to display
* the component on the output device.
* @return The color model used by this component.
* @see java.awt.image.ColorModel
* @see java.awt.peer.ComponentPeer#getColorModel()
* @see java.awt.Toolkit#getColorModel()
* @since JDK1.0
*/
public ColorModel getColorModel() {
ComponentPeer peer = this.peer;
if ((peer != null) && ! (peer instanceof java.awt.peer.LightweightPeer)) {
return peer.getColorModel();
}
return getToolkit().getColorModel();
}
/**
* Gets the location of this component in the form of a
* point specifying the component's top-left corner.
* The location will be relative to the parent's coordinate space.
* @return An instance of <code>Point</code> representing
* the top-left corner of the component's bounds in the coordinate
* space of the component's parent.
* @see #setLocation
* @see #getLocationOnScreen
* @since JDK1.1
*/
public Point getLocation() {
return location();
}
/**
* Gets the location of this component in the form of a point
* specifying the component's top-left corner in the screen's
* coordinate space.
* @return An instance of <code>Point</code> representing
* the top-left corner of the component's bounds in the
* coordinate space of the screen.
* @see #setLocation
* @see #getLocation
*/
public Point getLocationOnScreen() {
synchronized (getTreeLock()) {
if (peer != null && isShowing()) {
if (peer instanceof java.awt.peer.LightweightPeer) {
// lightweight component location needs to be translated
// relative to a native component.
Container host = getNativeContainer();
Point pt = host.peer.getLocationOnScreen();
for(Component c = this; c != host; c = c.getParent()) {
pt.x += c.x;
pt.y += c.y;
}
return pt;
} else {
Point pt = peer.getLocationOnScreen();
return pt;
}
} else {
throw new IllegalComponentStateException("component must be showing on the screen to determine its location");
}
}
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>getLocation()</code>.
*/
public Point location() {
return new Point(x, y);
}
/**
* Moves this component to a new location. The top-left corner of
* the new location is specified by the <code>x</code> and <code>y</code>
* parameters in the coordinate space of this component's parent.
* @param <code>x</code> The <i>x</i>-coordinate of the new location's
* top-left corner in the parent's coordinate space.
* @param <code>y</code> The <i>y</i>-coordinate of the new location's
* top-left corner in the parent's coordinate space.
* @see #getLocation
* @see #setBounds
* @since JDK1.1
*/
public void setLocation(int x, int y) {
move(x, y);
}
/**
* @deprecated As of JDK version 1.1,
* replaced by <code>setLocation(int, int)</code>.
*/
public void move(int x, int y) {
setBounds(x, y, width, height);
}
/**
* Moves this component to a new location. The top-left corner of
* the new location is specified by point <code>p</code>. Point
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -