java.lang.Object java.awt.Component
public abstract class Component
component 是一个具有图形表示能力的对象,可在屏幕上显示,并可与用户进行交互。典型图形用户界面中的按钮、复选框和滚动条都是组件示例。
Component
类是与菜单不相关的 Abstract Window Toolkit 组件的抽象超类。还可以直接扩展类 Component
来创建一个轻量级组件。轻量级组件是与本机不透明窗口不相关的组件。
Serializable
协议的 AWT 侦听器,注意这一点很重要。如果具有侦听器的 AWT 对象未标记为可序列化,则在
writeObject
时将会被丢弃。开发人员始终需要考虑序列化对象的意义。需要注意的一种情形是:
import java.awt.*; import java.awt.event.*; import java.io.Serializable; class MyApp implements ActionListener, Serializable { BigObjectThatShouldNotBeSerializedWithAButton bigOne; Button aButton = new Button(); MyApp() { // Oops, now aButton has a listener with a reference // to bigOne! aButton.addActionListener(this); } public void actionPerformed(ActionEvent e) { System.out.println("Hello There"); } }在此示例中,通过
aButton
自身进行序列化会使得
MyApp
及其引用的所有内容也都被序列化。问题是,原本没打算序列化的侦听器也被同时序列化了。为分别判断
MyApp
和
ActionListener
是否可序列化,可使用一个嵌套类,如下面示例所示:
import java.awt.*; import java.awt.event.*; import java.io.Serializable; class MyApp java.io.Serializable { BigObjectThatShouldNotBeSerializedWithAButton bigOne; Button aButton = new Button(); static class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("Hello There"); } } MyApp() { aButton.addActionListener(new MyActionListener()); } }
注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing。
有关焦点子系统的详情,请参阅 The Java Tutorial 中的 How to Use the Focus Subsystem 部分,以及 Focus Specification 了解更多信息。
嵌套类摘要 | |
---|---|
protected class |
Component.AccessibleAWTComponent 用来为可访问性提供默认支持的 Component 的内部类。 |
static class |
Component.BaselineResizeBehavior 常见方式的枚举,指示组件的基线可以随大小的更改而更改。 |
protected class |
Component.BltBufferStrategy 用于将屏幕外的画面以位图传输方式传输到一个组件的内部类。 |
protected class |
Component.FlipBufferStrategy 在组件上翻转缓冲区的内部类。 |
字段摘要 | |
---|---|
static float |
BOTTOM_ALIGNMENT getAlignmentY 的易于使用的常量。 |
static float |
CENTER_ALIGNMENT getAlignmentY 和 getAlignmentX 的易于使用的常量。 |
static float |
LEFT_ALIGNMENT getAlignmentX 的易于使用的常量。 |
static float |
RIGHT_ALIGNMENT getAlignmentX 的易于使用的常量。 |
static float |
TOP_ALIGNMENT getAlignmentY() 的易于使用的常量。 |
从接口 java.awt.image.ImageObserver 继承的字段 |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
构造方法摘要 | |
---|---|
protected |
Component() 构造一个新组件。 |
方法摘要 | ||
---|---|---|
boolean |
action(Event evt, Object what) 已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发动作事件)上的 ActionListener 来注册。 |
|
void |
add(PopupMenu popup) 向组件添加指定的弹出菜单。 |
|
void |
addComponentListener(ComponentListener l) 添加指定的组件侦听器,以接收发自此组件的组件事件。 |
|
void |
addFocusListener(FocusListener l) 添加指定的焦点侦听器,以便当此组件获得输入焦点时能够接收发自此组件的焦点事件。 |
|
void |
addHierarchyBoundsListener(HierarchyBoundsListener l) 添加指定的层次结构边界侦听器,以便当此容器所属的层次结构发生变化时接收发自此组件的层次结构边界事件。 |
|
void |
addHierarchyListener(HierarchyListener l) 添加指定的层次结构侦听器,以便当此容器所属的层次结构发生变化时接收发自此组件的层次结构变化事件。 |
|
void |
addInputMethodListener(InputMethodListener l) 添加指定的输入方法侦听器,以接收发自此组件的输入方法事件。 |
|
void |
addKeyListener(KeyListener l) 添加指定的按键侦听器,以接收发自此组件的按键事件。 |
|
void |
addMouseListener(MouseListener l) 添加指定的鼠标侦听器,以接收发自此组件的鼠标事件。 |
|
void |
addMouseMotionListener(MouseMotionListener l) 添加指定的鼠标移动侦听器,以接收发自此组件的鼠标移动事件。 |
|
void |
addMouseWheelListener(MouseWheelListener l) 添加指定的鼠标滚轮侦听器,以接收发自此组件的鼠标滚轮事件。 |
|
void |
addNotify() 通过将此 Component 连接到一个本机屏幕资源使其成为可显示的。 |
|
void |
addPropertyChangeListener(PropertyChangeListener listener) 向侦听器列表添加一个 PropertyChangeListener。 |
|
void |
addPropertyChangeListener(String propertyName, PropertyChangeListener listener) 向指定属性的侦听器列表添加一个 PropertyChangeListener。 |
|
void |
applyComponentOrientation(ComponentOrientation orientation) 设置此组件及其包含的所有组件的 ComponentOrientation 属性。 |
|
boolean |
areFocusTraversalKeysSet(int id) 返回是否为此 Component 显式定义了给定焦点遍历操作的焦点遍历键 Set。 |
|
Rectangle |
bounds() 已过时。 从 JDK version 1.1 开始,由 getBounds() 取代。 |
|
int |
checkImage(Image image, ImageObserver observer) 返回指定图像屏幕表示的构造状态。 |
|
int |
checkImage(Image image, int width, int height, ImageObserver observer) 返回指定图像屏幕表示的构造状态。 |
|
protected AWTEvent |
coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent) 将正发送的事件与现有事件组合在一起。 |
|
boolean |
contains(int x, int y) 检查组件是否“包含”指定的点,其中 x 和 y 是相对于此组件的坐标系定义的。 |
|
boolean |
contains(Point p) 检查组件是否“包含”指定的点,其中该点的 x 和 y 坐标是相对于此组件的坐标系定义的。 |
|
Image |
createImage(ImageProducer producer) 根据指定的图像生成器创建一幅图像。 |
|
Image |
createImage(int width, int height) 创建一幅用于双缓冲的、可在屏幕外绘制的图像。 |
|
VolatileImage |
createVolatileImage(int width, int height) 创建一幅用于双缓冲的、可变的、可在屏幕外绘制的图像。 |
|
VolatileImage |
createVolatileImage(int width, int height, ImageCapabilities caps) 创建一幅具有给定能力的、可变的、可在屏幕外绘制的图像。 |
|
void |
deliverEvent(Event e) 已过时。 从 JDK version 1.1 开始,由 dispatchEvent(AWTEvent e) 取代。 |
|
void |
disable() 已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。 |
|
protected void |
disableEvents(long eventsToDisable) 禁用由传递给此组件的指定事件掩码参数所定义的事件。 |
|
void |
dispatchEvent(AWTEvent e) 为组件或其子组件之一指派事件。 |
|
void |
doLayout() 提示布局管理器布局此组件。 |
|
void |
enable() 已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。 |
|
void |
enable(boolean b) 已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。 |
|
protected void |
enableEvents(long eventsToEnable) 启用由传递给此组件的指定事件掩码参数所定义的事件。 |
|
void |
enableInputMethods(boolean enable) 启用或禁用此组件的输入方法支持。 |
|
protected void |
firePropertyChange(String propertyName, boolean oldValue, boolean newValue) 支持报告布尔属性的绑定属性改变。 |
|
void |
firePropertyChange(String propertyName, byte oldValue, byte newValue) 报告绑定属性的改变。 |
|
void |
firePropertyChange(String propertyName, char oldValue, char newValue) 报告绑定属性的改变。 |
|
void |
firePropertyChange(String propertyName, double oldValue, double newValue) 报告绑定属性的改变。 |
|
void |
firePropertyChange(String propertyName, float oldValue, float newValue) 报告绑定属性的改变。 |
|
protected void |
firePropertyChange(String propertyName, int oldValue, int newValue) 支持报告整数属性的绑定属性改变。 |
|
void |
firePropertyChange(String propertyName, long oldValue, long newValue) 报告绑定属性的改变。 |
|
protected void |
firePropertyChange(String propertyName, Object oldValue, Object newValue) 支持报告 Object 属性的绑定属性改变。 |
|
void |
firePropertyChange(String propertyName, short oldValue, short newValue) 报告绑定属性的改变。 |
|
AccessibleContext |
getAccessibleContext() 获取与此 Component 相关的 AccessibleContext 。 |
|
float |
getAlignmentX() 返回 x 轴的对齐方式。 |
|
float |
getAlignmentY() 返回 y 轴的对齐方式。 |
|
Color |
getBackground() 获取组件的背景色。 |
|
int |
getBaseline(int width, int height) 返回基线。 |
|
Component.BaselineResizeBehavior |
getBaselineResizeBehavior() 返回一个指示组件的基线如何随大小发生更改的枚举。 |
|
Rectangle |
getBounds() 以 Rectangle 对象的形式获取组件的边界。 |
|
Rectangle |
getBounds(Rectangle rv) 将组件的边界存储到“返回值”rv 中并返回 rv。 |
|
ColorModel |
getColorModel() 获取用于在输出设备上显示组件的 ColorModel 实例。 |
|
Component |
getComponentAt(int x, int y) 确定此组件或其直接子组件之一是否包含(x,y)位置,并且如果是,则返回包含该位置的组件。 |
|
Component |
getComponentAt(Point p) 返回包含指定点的组件或子组件。 |
|
ComponentListener[] |
getComponentListeners() 返回在此组件上所有已注册的组件侦听器的数组。 |
|
ComponentOrientation |
getComponentOrientation() 检索将用于排序此组件内的元素或文本的语言敏感的方向。 |
|
Cursor |
getCursor() 获取组件中的光标集合。 |
|
DropTarget |
getDropTarget() 获取与此 Component 相关的 DropTarget 。 |
|
Container |
getFocusCycleRootAncestor() 返回作为此 Component 焦点遍历循环的焦点循环根的 Container。 |
|
FocusListener[] |
getFocusListeners() 返回在此组件上所有已注册的焦点侦听器的数组。 |
|
Set<AWTKeyStroke> |
getFocusTraversalKeys(int id) 返回此 Component 的给定遍历操作的焦点遍历键 Set。 |
|
boolean |
getFocusTraversalKeysEnabled() 返回是否已为此 Component 启用了焦点遍历键。 |
|
Font |
getFont() 获取组件的字体。 |
|
FontMetrics |
getFontMetrics(Font font) 获取指定字体的字体规格。 |
|
Color |
getForeground() 获取组件的前景色。 |
|
Graphics |
getGraphics() 为组件创建一个图形上下文。 |
|
GraphicsConfiguration |
getGraphicsConfiguration() 获取与此 Component 相关的 GraphicsConfiguration 。 |
|
int |
getHeight() 返回组件的当前高度。 |
|
HierarchyBoundsListener[] |
getHierarchyBoundsListeners() 返回在此组件上所有已注册的层次结构边界侦听器的数组。 |
|
HierarchyListener[] |
getHierarchyListeners() 返回在此组件上所有已注册的层次结构侦听器的数组。 |
|
boolean |
getIgnoreRepaint() |
|
InputContext |
getInputContext() 获取此组件使用的输入上下文,用于处理在此组件中输入文本时与输入方法的通信。 |
|
InputMethodListener[] |
getInputMethodListeners() 返回在此组件上所有已注册的输入方法侦听器的数组。 |
|
InputMethodRequests |
getInputMethodRequests() 获取输入方法请求处理程序,该处理程序支持此组件输入方法发出的请求。 |
|
KeyListener[] |
getKeyListeners() 返回在此组件上所有已注册的按键侦听器的数组。 |
|
|
getListeners(Class<T> listenerType) 返回一个当前在此 Component 上作为 FooListener 注册的所有对象的数组。 |
|
Locale |
getLocale() 获取组件的语言环境。 |
|
Point |
getLocation() 获取组件的位置,形式是指定组件左上角的一个点。 |
|
Point |
getLocation(Point rv) 将组件的 x,y 原点存储到“返回值” rv 中并返回 rv。 |
|
Point |
getLocationOnScreen() 获取组件的位置,形式是一个指定屏幕坐标空间中组件左上角的一个点。 |
|
Dimension |
getMaximumSize() 获取组件的最大大小。 |
|
Dimension |
getMinimumSize() 获取组件的最小大小。 |
|
MouseListener[] |
getMouseListeners() 返回在此组件上所有已注册的鼠标侦听器的数组。 |
|
MouseMotionListener[] |
getMouseMotionListeners() 返回在此组件上所有已注册的鼠标移动侦听器的数组。 |
|
Point |
getMousePosition() 如果此 Component 正好位于鼠标指针下,则返回鼠标指针在该 Component 的坐标空间中的位置;否则返回 null 。 |
|
MouseWheelListener[] |
getMouseWheelListeners() 返回在此组件上所有已注册的鼠标滚轮侦听器的数组。 |
|
String |
getName() 获取组件的名称。 |
|
Container |
getParent() 获取此组件的父级。 |
|
java.awt.peer.ComponentPeer |
getPeer() 已过时。 从 JDK version 1.1 开始,程序不应直接操作同位体;由 boolean isDisplayable() 取代。 |
|
Dimension |
getPreferredSize() 获取组件的首选大小。 |
|
PropertyChangeListener[] |
getPropertyChangeListeners() 返回在此组件上所有已注册的属性更改侦听器的数组。 |
|
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName) 返回与指定属性相关联的所有侦听器的数组。 |
|
Dimension |
getSize() 以 Dimension 对象的形式返回组件的大小。 |
|
Dimension |
getSize(Dimension rv) 将组件的宽度/高度存储到“返回值”rv 中并返回 rv。 |
|
Toolkit |
getToolkit() 获取此组件的工具包。 |
|
Object |
getTreeLock() 获取此组件用于 AWT 组件树和布局操作的锁定对象(拥有线程同步监视器的对象)。 |
|
int |
getWidth() 返回组件的当前宽度。 |
|
int |
getX() 返回组件原点的当前 x 坐标。 |
|
int |
getY() 返回组件原点的当前 y 坐标。 |
|
boolean |
gotFocus(Event evt, Object what) 已过时。 从 JDK version 1.1 开始,由 processFocusEvent(FocusEvent) 取代。 |
|
boolean |
handleEvent(Event evt) 已过时。 从 JDK version 1.1 开始,由 processEvent(AWTEvent) 取代。 |
|