java.awt

接口
异常
错误
java.lang.Object
  继承者 java.awt.Component
所有已实现的接口:
ImageObserver, MenuContainer, Serializable
直接已知子类:
Button, Canvas, Checkbox, Choice, Container, Label, List, Scrollbar, TextComponent

public abstract class Component
     
extends Object
implements ImageObserver, MenuContainer, Serializable

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 及其引用的所有内容也都被序列化。问题是,原本没打算序列化的侦听器也被同时序列化了。为分别判断 MyAppActionListener 是否可序列化,可使用一个嵌套类,如下面示例所示:
    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
          getAlignmentYgetAlignmentX 的易于使用的常量。
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()
          构造一个新组件。
 

JDK 1.6 中文手册

方法摘要
 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)
          检查组件是否“包含”指定的点,其中 xy 是相对于此组件的坐标系定义的。
 boolean contains(Point p)
          检查组件是否“包含”指定的点,其中该点的 xy 坐标是相对于此组件的坐标系定义的。
 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)
          确定此组件或其直接子组件之一是否包含(xy)位置,并且如果是,则返回包含该位置的组件。
 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()
          返回在此组件上所有已注册的按键侦听器的数组。
<T extends EventListener>
T[]
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) 取代。