JavaTM 2 Platform
Standard Ed. 5.0

java.awt
类 Component

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();

         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 的内部类。
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()
          构造一个新组件。
 
方法摘要
 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)
          支持报告布尔属性的 bound 属性改变。
 void firePropertyChange(String propertyName, byte oldValue, byte newValue)
          报告 bound 属性的改变。
 void firePropertyChange(String propertyName, char oldValue, char newValue)
          报告 bound 属性的改变。
 void firePropertyChange(String propertyName, double oldValue, double newValue)
          报告 bound 属性的改变。
 void firePropertyChange(String propertyName, float oldValue, float newValue)
          报告 bound 属性的改变。
protected  void firePropertyChange(String propertyName, int oldValue, int newValue)
          支持报告整数属性的 bound 属性改变。
 void firePropertyChange(String propertyName, long oldValue, long newValue)
          报告 bound 属性的改变。
protected  void firePropertyChange(String propertyName, Object oldValue, Object newValue)
          支持报告 Object 属性的 bound 属性改变。
 void firePropertyChange(String propertyName, short oldValue, short newValue)
          报告 bound 属性的改变。
 AccessibleContext getAccessibleContext()
          获得与此 Component 相关的 AccessibleContext
 float getAlignmentX()
          返回 x 轴的对齐方式。
 float getAlignmentY()
          返回 y 轴的对齐方式。
 Color getBackground()
          获得组件的背景色。
 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) 取代。
 boolean hasFocus()
          如果此 Component 是焦点所有者,则返回 true
 void hide()
          已过时。 从 JDK version 1.1 开始,由 setVisible(boolean) 取代。
 boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
          图像已改变时重绘组件。
 boolean inside(int x, int y)
          已过时。 从 JDK version 1.1 开始,由 contains(int, int) 取代。
 void invalidate()
          使此组件无效。
 boolean isBackgroundSet()
          返回是否已为此组件显示地设置了背景色。
 boolean isCursorSet()
          返回是否已为此组件显示地设置了光标。
 boolean isDisplayable()
          确定此组件是否可以显示。
 boolean isDoubleBuffered()
          如果将此组件绘制到一个随后复制到屏幕上的屏幕外图像(“缓冲区”),则返回 true。
 boolean isEnabled()
          确定此组件是否已启用。
 boolean isFocusable()
          返回此 Component 是否可以获得焦点。
 boolean isFocusCycleRoot(Container container)
          返回指定的 Container 是否为此 Component 焦点遍历循环的焦点循环根。
 boolean isFocusOwner()
          如果此 Component 是焦点所有者,则返回 true
 boolean isFocusTraversable()
          已过时。 在 1.4 中,由 isFocusable() 取代。
 boolean isFontSet()
          返回是否已为此组件显示地设置了字体。
 boolean isForegroundSet()
          返回是否已为此组件显式地设置了前景色。
 boolean isLightweight()
          轻量组件没有本机工具包同位体。
 boolean isMaximumSizeSet()
          如果已将最大尺寸设置为非 null 值,则返回 true,否则返回 false。
 boolean isMinimumSizeSet()
          返回是否已用非 null 值调用了 setMinimumSize
 boolean isOpaque()
          如果组件是完全不透明的,则返回 true,默认返回 false。
 boolean isPreferredSizeSet()
          如果已将首选大小设置为非 null 值,则返回 true,否则返回 false。
 boolean isShowing()
          确定此组件是否在屏幕上显示。
 boolean isValid()
          确定组件是否有效。
 boolean isVisible()
          确定此组件在其父容器可见时是否应该可见。
 boolean keyDown(Event evt, int key)
          已过时。 从 JDK version 1.1 开始,由 processKeyEvent(KeyEvent) 取代。
 boolean keyUp(Event evt, int key)
          已过时。 从 JDK version 1.1 开始,由 processKeyEvent(KeyEvent) 取代。
 void layout()
          已过时。 从 JDK version 1.1 开始,由 doLayout() 取代。
 void list()
          将组件列表打印到标准系统输出流 System.out
 void list(PrintStream out)
          将组件列表打印到指定的输出流。
 void list(PrintStream out, int indent)
          将列表从指定的缩进开始打印到指定的输出流。
 void list(PrintWriter out)
          将列表打印到指定的 PrintWriter。
 void list(PrintWriter out, int indent)
          将列表从指定的缩进开始打印到指定的 PrintWriter。
 Component locate(int x, int y)
          已过时。 从 JDK version 1.1 开始,由 getComponentAt(int, int) 取代。
 Point location()
          已过时。 从 JDK version 1.1 开始,由 getLocation() 取代。
 boolean lostFocus(Event evt, Object what)
          已过时。 从 JDK version 1.1 开始,由 processFocusEvent(FocusEvent) 取代。
 Dimension minimumSize()
          已过时。 从 JDK version 1.1 开始,由 getMinimumSize() 取代。
 boolean mouseDown(Event evt, int x, int y)
          已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。
 boolean mouseDrag(Event evt, int x, int y)
          已过时。 从 JDK version 1.1 开始,由 processMouseMotionEvent(MouseEvent) 取代。
 boolean mouseEnter(Event evt, int x, int y)
          已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。
 boolean mouseExit(Event evt, int x, int y)
          已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。
 boolean mouseMove(Event evt, int x, int y)
          已过时。 从 JDK version 1.1 开始,由 processMouseMotionEvent(MouseEvent) 取代。
 boolean mouseUp(Event evt, int x, int y)
          已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。
 void move(int x, int y)
          已过时。 从 JDK version 1.1 开始,由 setLocation(int, int) 取代。
 void nextFocus()
          已过时。 从 JDK version 1.1 开始,由 transferFocus() 取代。
 void paint(Graphics g)
          绘制此组件。
 void paintAll(Graphics g)
          绘制此组件及其所有子组件。
protected  String paramString()
          返回此组件状态的字符串表示形式。
 boolean postEvent(Event e)
          已过时。 从 JDK version 1.1 开始,由 dispatchEvent(AWTEvent) 取代。
 Dimension preferredSize()
          已过时。 从 JDK version 1.1 开始,由 getPreferredSize() 取代。
 boolean prepareImage(Image image, ImageObserver observer)
          准备一幅在此组件上呈现的图像。
 boolean prepareImage(Image image, int width, int height, ImageObserver observer)
          以指定的宽度和高度准备一幅在在此组件上呈现的图像。
 void print(Graphics g)
          打印此组件。
 void printAll(Graphics g)
          打印此组件及其所有子组件。
protected  void processComponentEvent(ComponentEvent e)
          处理组件上发生的组件事件,方法是将其指派到任意已注册的 ComponentListener 对象。
protected  void processEvent(AWTEvent e)
          处理在组件上发生的事件。
protected  void processFocusEvent(FocusEvent e)
          处理组件上发生的焦点事件,方法是将其指派到任意已注册的 FocusListener 对象。
protected  void processHierarchyBoundsEvent(HierarchyEvent e)
          处理组件上发生的层次结构边界事件,方法是将其指派到任意已注册的 HierarchyBoundsListener 对象。
protected  void processHierarchyEvent(HierarchyEvent e)
          处理组件上发生的层次结构事件,方法是将其指派到任意已注册的 HierarchyListener 对象。
protected  void processInputMethodEvent(InputMethodEvent e)
          处理组件上发生的输入方法事件,方法是将其指派到任意已注册的 InputMethodListener 对象。
protected  void processKeyEvent(KeyEvent e)
          处理组件上发生的按键事件,方法是将其指派到任意已注册的 KeyListener 对象。
protected  void processMouseEvent(MouseEvent e)
          处理组件上发生的鼠标事件,方法是将其指派到任意已注册的 MouseListener 对象。
protected  void processMouseMotionEvent(MouseEvent e)
          处理组件上发生的鼠标移动事件,方法是将其指派到任意已注册的 MouseMotionListener 事件。
protected  void processMouseWheelEvent(MouseWheelEvent e)
          处理组件上发生的鼠标轮事件,方法是将其指派到任意已注册的 MouseWheelListener 对象。
 void remove(MenuComponent popup)
          从组件移除指定的弹出菜单。
 void removeComponentListener(ComponentListener l)
          移除指定的组件侦听器,不再接收此组件发出的组件事件。
 void removeFocusListener(FocusListener l)
          移除指定的焦点侦听器,不再接收此组件发出的焦点事件。
 void removeHierarchyBoundsListener(HierarchyBoundsListener l)
          移除指定的层次结构边界侦听器,不再接收此组件发出的层次结构边界事件如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。
 void removeHierarchyListener(HierarchyListener l)
          移除指定的层次结构侦听器,不再接收此组件发出的层次结构变化事件。
 void removeInputMethodListener(InputMethodListener l)
          移除指定的输入方法侦听器,不再接收此组件发出的输入方法事件。
 void removeKeyListener(KeyListener l)
          移除指定的按键侦听器,不再接收此组件发出的按键事件。
 void removeMouseListener(MouseListener l)
          移除指定的鼠标侦听器,不再接收此组件发出的鼠标事件。
 void removeMouseMotionListener(MouseMotionListener l)
          移除指定的鼠标移动侦听器,不再接收此组件发出的鼠标移动事件。
 void removeMouseWheelListener(MouseWheelListener l)
          移除指定的鼠标轮侦听器,不再接收此组件发出的鼠标轮事件。
 void removeNotify()
          通过销毁此 Component 的本机屏幕资源使其成为不可显示的。
 void removePropertyChangeListener(PropertyChangeListener listener)
          从侦听器列表移除一个 PropertyChangeListener。
 void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
          从指定属性的侦听器列表中移除一个 PropertyChangeListener
 void repaint()
          重绘此组件。
 void repaint(int x, int y, int width, int height)
          重绘组件的指定矩形区域。
 void repaint(long tm)
          重绘组件。
 void repaint(long tm, int x, int y, int width, int height)
          在 tm 毫秒内重绘组件的指定矩形区域。
 void requestFocus()
          请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。
protected  boolean requestFocus(boolean temporary)
          请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window
 boolean requestFocusInWindow()
          如果此 Component 的顶层祖先已经是获得焦点的窗口,则请求此 Component 获得输入焦点。
protected  boolean requestFocusInWindow(boolean temporary)
          如果此 Component 的顶层祖先已经是获得焦点的 Window,则请求此 Component 获得输入焦点。
 void reshape(int x, int y, int width, int height)
          已过时。 从 JDK version 1.1 开始,由 setBounds(int, int, int, int) 取代。
 void resize(Dimension d)
          已过时。 从 JDK version 1.1 开始,由 setSize(Dimension) 取代。
 void resize(int width, int height)
          已过时。 从 JDK version 1.1 开始,由 setSize(int, int) 取代。
 void setBackground(Color c)
          设置组件的背景色。
 void setBounds(int x, int y, int width, int height)
          移动组件并调整其大小。
 void setBounds(Rectangle r)
          移动组件并调整其大小,使其符合新的有界矩形 r
 void setComponentOrientation(ComponentOrientation o)
          设置语言敏感的方向,用于排序此组件内的元素或文本。
 void setCursor(Cursor cursor)
          为指定的光标设置光标图像。
 void setDropTarget(DropTarget dt)
          将组件与 DropTarget 相关联。
 void setEnabled(boolean b)
          根据参数 b 的值启用或禁用此组件。
 void setFocusable(boolean focusable)
          将此 Component 的焦点状态设置为指定值。
 void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
          为此 Component 的给定遍历操作设置焦点遍历键。
 void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
          设置是否为此 Component 启用焦点遍历键。
 void setFont(Font f)
          设置组件的字体。
 void setForeground(Color c)
          设置组件的前景色。
 void setIgnoreRepaint(boolean ignoreRepaint)
          设置是否应该忽略从操作系统接受的绘制消息。
 void setLocale(Locale l)
          设置组件的语言环境。
 void setLocation(int x, int y)
          将组件移到新位置。
 void setLocation(Point p)
          将组件移到新位置。
 void setMaximumSize(Dimension maximumSize)
          将组件的最大尺寸设置为常量值。
 void setMinimumSize(Dimension minimumSize)
          将组件的最小尺寸设置为常量值。
 void setName(String name)
          将组件的名称设置为指定的字符串。
 void setPreferredSize(Dimension preferredSize)
          将组件的首选大小设置为常量值。
 void setSize(Dimension d)
          调整组件的大小,使其宽度为 d.width,高度为 d.height
 void setSize(int width, int height)
          调整组件的大小,使其宽度为 width,高度为 height
 void setVisible(boolean b)
          根据参数 b 的值显示或隐藏此组件。
 void show()
          已过时。 从 JDK version 1.1 开始,由 setVisible(boolean) 取代。
 void show(boolean b)
          已过时。 从 JDK version 1.1 开始,由 setVisible(boolean) 取代。
 Dimension size()
          已过时。 从 JDK version 1.1 开始,由 getSize() 取代。
 String toString()
          返回此组件及其值的字符串表示形式。
 void transferFocus()
          将焦点转移到下一个组件,就好像此 Component 曾是焦点所有者。
 void transferFocusBackward()
          将焦点转移到前一个组件,就好像此 Component 曾是焦点所有者。
 void transferFocusUpCycle()
          将焦点向上转移一个焦点遍历循环。
 void update(Graphics g)
          更新组件。
 void validate()
          确保组件具有有效的布局。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

TOP_ALIGNMENT

public static final float TOP_ALIGNMENT
getAlignmentY() 的易于使用的常量。指定组件顶部对齐方式。

另请参见:
getAlignmentY(), 常量字段值

CENTER_ALIGNMENT

public static final float CENTER_ALIGNMENT
getAlignmentYgetAlignmentX 的易于使用的常量。指定组件居中对齐的方式。

另请参见:
getAlignmentX(), getAlignmentY(), 常量字段值

BOTTOM_ALIGNMENT

public static final float BOTTOM_ALIGNMENT
getAlignmentY 的易于使用的常量。指定组件底部对齐的方式。

另请参见:
getAlignmentY(), 常量字段值

LEFT_ALIGNMENT

public static final float LEFT_ALIGNMENT
getAlignmentX 的易于使用的常量。指定组件左对齐的方式。

另请参见:
getAlignmentX(), 常量字段值

RIGHT_ALIGNMENT

public static final float RIGHT_ALIGNMENT
getAlignmentX 的易于使用的常量。指定组件右对齐的方式。

另请参见:
getAlignmentX(), 常量字段值
构造方法详细信息

Component

protected Component()
构造一个新组件。可以直接扩展 Component 类,以便创建不利用本机不透明窗口的轻量组件。轻量组件必须由组件树中较高处的本机容器所承载(例如由 Frame 对象承载)。

方法详细信息

getName

public String getName()
获得组件的名称。

返回:
组件的名称
从以下版本开始:
JDK1.1
另请参见:
setName(java.lang.String)

setName

public void setName(String name)
将组件的名称设置为指定的字符串。

参数:
name - 要成为组件名称的字符串。
从以下版本开始:
JDK1.1
另请参见:
getName()

getParent

public Container getParent()
获得此组件的父级。

返回:
此组件的父级容器
从以下版本开始:
JDK1.0

getPeer

@Deprecated
public java.awt.peer.ComponentPeer getPeer()
已过时。 从 JDK version 1.1 开始,程序不应直接操作同位体;由 boolean isDisplayable() 取代。


setDropTarget

public void setDropTarget(DropTarget dt)
将组件与 DropTarget 相关联。仅在已启用 Component 时才接收放置。

参数:
dt - DropTarget
另请参见:
isEnabled()

getDropTarget

public DropTarget getDropTarget()
获得与此 Component 相关的 DropTarget


getGraphicsConfiguration

public GraphicsConfiguration getGraphicsConfiguration()
获得与此 Component 相关的 GraphicsConfiguration。如果尚未给 Component 分配指定的 GraphicsConfiguration,则返回该 Component 对象顶层容器的 GraphicsConfiguration。如果已经创建了 Component 但尚未添加到 Container 中,则此方法返回 null

返回:
Component 使用的 GraphicsConfiguration,或者返回 null
从以下版本开始:
1.3

getTreeLock

public final Object getTreeLock()
获得此组件用于 AWT 组件树和布局操作的锁定对象(拥有线程同步监视器的对象)。

返回:
此组件的锁定对象

getToolkit

public Toolkit getToolkit()
获得此组件的工具包。注意,包含组件的框架控制该组件使用哪个工具包。因此,如果组件从一个框架移到另一个框架中,那么它所使用的工具包可能改变。

返回:
此组件的工具包
从以下版本开始:
JDK1.0

isValid

public boolean isValid()
确定组件是否有效。当组件在其父级容器内正确确定了大小和位置,并且其所有子组件也是有效的,则该组件是有效的。为了确定同位体的大小要求,组件首次显示在屏幕上时是无效的。 完全实现父级容器时,其所有组件将是有效的。

返回:
如果组件有效,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
validate(), invalidate()

isDisplayable

public boolean isDisplayable()
确定此组件是否可以显示。当组件连接到一个本机屏幕资源时是可以显示的。

将组件添加到一个可显示的包含层次结构时,或者其包含层次结构变成可显示时,该组件才成为可显示的组件。当包含层次结构的祖先窗口被打包或变为可见时,它才成为可显示的。

从可显示的包含层次结构中移除某个组件,或者该组件的包含层次结构变成不可显示时,该组件就成为不可显示的组件。当包含层次结构的祖先窗口被移除时,它才变成不可显示的。

返回:
如果组件是可显示的,则返回 true;否则返回 false
从以下版本开始:
1.2
另请参见:
Container.add(Component), Window.pack(), Window.show(), Container.remove(Component), Window.dispose()

isVisible

public boolean isVisible()
确定此组件在其父容器可见时是否应该可见。组件初始是可见的,诸如 Frame 对象等顶层组件除外。

返回:
如果组件是可见的,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
setVisible(boolean)

getMousePosition

public Point getMousePosition()
                       throws HeadlessException
如果此 Component 正好位于鼠标指针下,则返回鼠标指针在 Component 的坐标空间中的位置;否则返回 null。如果屏幕上未显示 Component,那么即使鼠标指针位于将显示 Component 的区域之上,此方法也只是返回 null。如果 Component 被其他 Component 或本机窗口所部分或完全遮掩,则仅在鼠标指针位于 Component 未被遮掩的部分之上时,此方法才返回非 null 值。

对于 Container,如果鼠标位于 Container 本身之上或位于其后代之上时,则此方法返回非 null 值。如果需要将子容器排除在外,请使用 Container.getMousePosition(boolean)

有时鼠标的准确坐标并不重要,惟一重要的是指定的 Component 是否位于鼠标指针下。如果此方法的返回值为 null,则鼠标指针不位于 Component 的上边。

返回:
鼠标相对与此 Component 的坐标,或者返回 null。
抛出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
从以下版本开始:
1.5
另请参见:
isShowing(), Container.getMousePosition(boolean)

isShowing

public boolean isShowing()
确定此组件是否在屏幕上显示。这意味着组件必须是可见的,并且必须位于一个可见并且正在显示的容器中。

返回:
如果正在显示组件,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
setVisible(boolean)

isEnabled

public boolean isEnabled()
确定此组件是否已启用。已启用的组件可以响应用户输入并生成事件。默认情况下,组件最初是启用的。调用组件的 setEnabled 方法可以启用或禁用组件。

返回:
如果组件已启用,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
setEnabled(boolean)

setEnabled

public void setEnabled(boolean b)
根据参数 b 的值启用或禁用此组件。已启用的组件可以响应用户输入并生成事件。默认情况下,组件最初是启用的。

注:禁用轻量组件不会阻止其接收 MouseEvents。

参数:
b - 如果为 true,则启用此组件;否则禁用此组件
从以下版本开始:
JDK1.1
另请参见:
isEnabled(), isLightweight()

enable

@Deprecated
public void enable()
已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。


enable

@Deprecated
public void enable(boolean b)
已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。


disable

@Deprecated
public void disable()
已过时。 从 JDK version 1.1 开始,由 setEnabled(boolean) 取代。


isDoubleBuffered

public boolean isDoubleBuffered()
如果将此组件绘制到一个随后复制到屏幕上的屏幕外图像(“缓冲区”),则返回 true。支持双缓冲的组件子类应该重写此方法,以便在启用双缓冲时返回 true。

返回:
默认返回 false

enableInputMethods

public void enableInputMethods(boolean enable)
启用或禁用此方法的输入方法支持。如果启用输入方法支持并且组件也处理按键事件,则将传入的事件提供给当前的输入方法,并且如果输入方法没有使用它们,则仅由组件处理或分派给其侦听器。默认情况下启用输入方法支持。

参数:
enable - true 表示启用,false 表示禁用
从以下版本开始:
1.2
另请参见:
processKeyEvent(java.awt.event.KeyEvent)

setVisible

public void setVisible(boolean b)
根据参数 b 的值显示或隐藏此组件。

参数:
b - 如果为 true,则显示此组件;否则隐藏此组件
从以下版本开始:
JDK1.1
另请参见:
isVisible()

show

@Deprecated
public void show()
已过时。 从 JDK version 1.1 开始,由 setVisible(boolean) 取代。


show

@Deprecated
public void show(boolean b)
已过时。 从 JDK version 1.1 开始,由 setVisible(boolean) 取代。


hide

@Deprecated
public void hide()
已过时。 从 JDK version 1.1 开始,由 setVisible(boolean) 取代。


getForeground

public Color getForeground()
获得组件的前景色。

返回:
组件的前景色;如果此组件没有前景色,则返回其父级的前景色
从以下版本开始:
JDK1.0
另请参见:
setForeground(java.awt.Color)

setForeground

public void setForeground(Color c)
设置组件的前景色。

参数:
c - 要成为此组件前景色的颜色;如果此参数为 null,则此组件继承其父级的前景色
从以下版本开始:
JDK1.0
另请参见:
getForeground()

isForegroundSet

public boolean isForegroundSet()
返回是否已为此组件显式地设置了前景色。如果此方法返回 false,则此组件继承了其祖先的前景色。

返回:
如果已为此组件显示地设置了前景色,则返回 true;否则返回 false
从以下版本开始:
1.4

getBackground

public Color getBackground()
获得组件的背景色。

返回:
组件的背景色;如果此组件没有背景色,则返回其父级的背景色
从以下版本开始:
JDK1.0
另请参见:
setBackground(java.awt.Color)

setBackground

public void setBackground(Color c)
设置组件的背景色。

背景色对每个组件的影响各不相同,并且部分受背景色影响的组件在不同的操作系统之间可能有所不同。

参数:
c - 要成为此组件背景色的颜色;如果此参数为 null,则此组件继承其父级的背景色
从以下版本开始:
JDK1.0
另请参见:
getBackground()

isBackgroundSet

public boolean isBackgroundSet()
返回是否已为此组件显示地设置了背景色。如果此方法返回 false,则此组件继承了其祖先的背景色。

返回:
如果已为此组件显示地设置了背景色,则返回 true;否则返回 false
从以下版本开始:
1.4

getFont

public Font getFont()
获得组件的字体。

指定者:
接口 MenuContainer 中的 getFont
返回:
组件的字体;如果此组件未设置字体,则返回其父级的字体
从以下版本开始:
JDK1.0
另请参见:
setFont(java.awt.Font)

setFont

public void setFont(Font f)
设置组件的字体。

参数:
f - 要成为此组件字体的字体;如果此参数为 null,则此组件继承其父级的字体
从以下版本开始:
JDK1.0
另请参见:
getFont()

isFontSet

public boolean isFontSet()
返回是否已为此组件显示地设置了字体。如果此方法返回 false,则此组件继承了其祖先的字体。

返回:
如果已为此组件显示地设置了字体,则返回 true;否则返回 false
从以下版本开始:
1.4

getLocale

public Locale getLocale()
获得组件的语言环境。

返回:
组件的语言环境;如果此组件没有语言环境,则返回其父级的语言环境
抛出:
IllegalComponentStateException - 如果 Component 没有其自己的语言环境,并且尚未添加到包含层次结构中(如果添加到包含层次结构中就可以从其父级确定语言环境)
从以下版本开始:
JDK1.1
另请参见:
setLocale(java.util.Locale)

setLocale

public void setLocale(Locale l)
设置组件的语言环境。这是一个 bound 属性。

参数:
l - 要成为此组件语言环境的语言环境
从以下版本开始:
JDK1.1
另请参见:
getLocale()

getColorModel

public ColorModel getColorModel()
获得用于在输出设备上显示组件的 ColorModel 实例。

返回:
组件使用的颜色模型
从以下版本开始:
JDK1.0
另请参见:
ColorModel, ComponentPeer.getColorModel(), Toolkit.getColorModel()

getLocation

public Point getLocation()
获得组件的位置,形式是指定组件左上角的一个点。该位置是相对于父级坐标空间的。

由于本机事件处理的异步特性,所以此方法可能返回过时的值(例如,在快速连续调用 setLocation() 后)。为此,获得组件位置的建议方法是在 java.awt.event.ComponentListener.componentMoved() 内,在操作系统结束组件移动后调用它。

返回:
一个 Point 实例,表示在父组件坐标空间中组件边界的左上角
从以下版本开始:
JDK1.1
另请参见:
setLocation(int, int), getLocationOnScreen()

getLocationOnScreen

public Point getLocationOnScreen()
获得组件的位置,形式是一个指定屏幕坐标空间中组件左上角的一个点。

返回:
一个 Point 实例,表示在屏幕坐标空间中组件边界的左上角
抛出:
IllegalComponentStateException - 如果屏幕上未显示该组件
另请参见:
setLocation(int, int), getLocation()

location

@Deprecated
public Point location()
已过时。 从 JDK version 1.1 开始,由 getLocation() 取代。


setLocation

public void setLocation(int x,
                        int y)
将组件移到新位置。通过此组件父级坐标空间中的 xy 参数来指定新位置的左上角。

参数:
x - 父级坐标空间中新位置左上角的 x 坐标
y - 父级坐标空间中新位置左上角的 y 坐标
从以下版本开始:
JDK1.1
另请参见:
getLocation(), setBounds(int, int, int, int)

move

@Deprecated
public void move(int x,
                            int y)
已过时。 从 JDK version 1.1 开始,由 setLocation(int, int) 取代。


setLocation

public void setLocation(Point p)
将组件移到新位置。通过点 p 来指定新位置的左上角。在父级的坐标空间中给出点 p

参数:
p - 定义新位置左上角的点,在此组件的父级坐标空间中给出
从以下版本开始:
JDK1.1
另请参见:
getLocation(), setBounds(int, int, int, int)

getSize

public Dimension getSize()
Dimension 对象的形式返回组件的大小。Dimension 对象的 height 字段包含此组件的高度,而 Dimension 对象的 width 字段则包含此组件的宽度。

返回:
表示组件大小的 Dimension 对象
从以下版本开始:
JDK1.1
另请参见:
setSize(int, int)

size

@Deprecated
public Dimension size()
已过时。 从 JDK version 1.1 开始,由 getSize() 取代。


setSize

public void setSize(int width,
                    int height)
调整组件的大小,使其宽度为 width,高度为 height

参数:
width - 组件的新宽度,单位是像素
height - 组件的新高度,单位是像素
从以下版本开始:
JDK1.1
另请参见:
getSize(), setBounds(int, int, int, int)

resize

@Deprecated
public void resize(int width,
                              int height)
已过时。 从 JDK version 1.1 开始,由 setSize(int, int) 取代。


setSize

public void setSize(Dimension d)
调整组件的大小,使其宽度为 d.width,高度为 d.height

参数:
d - 指定组件新大小的尺寸
从以下版本开始:
JDK1.1
另请参见:
setSize(int, int), setBounds(int, int, int, int)

resize

@Deprecated
public void resize(Dimension d)
已过时。 从 JDK version 1.1 开始,由 setSize(Dimension) 取代。


getBounds

public Rectangle getBounds()
Rectangle 对象的形式获得组件的边界。边界指定此组件的宽度、高度和相对于其父级的位置。

返回:
表示组件边界的 Rectangle
另请参见:
setBounds(int, int, int, int), getLocation(), getSize()

bounds

@Deprecated
public Rectangle bounds()
已过时。 从 JDK version 1.1 开始,由 getBounds() 取代。


setBounds

public void setBounds(int x,
                      int y,
                      int width,
                      int height)
移动组件并调整其大小。由 xy 指定左上角的新位置,由 widthheight 指定新的大小。

参数:
x - 组件的新 x 坐标
y - 组件的新 y 坐标
width - 组件的新 width
height - 组件的新 height
从以下版本开始:
JDK1.1
另请参见:
getBounds(), setLocation(int, int), setLocation(Point), setSize(int, int), setSize(Dimension)

reshape

@Deprecated
public void reshape(int x,
                               int y,
                               int width,
                               int height)
已过时。 从 JDK version 1.1 开始,由 setBounds(int, int, int, int) 取代。


setBounds

public void setBounds(Rectangle r)
移动组件并调整其大小,使其符合新的有界矩形 r。由 r.xr.y 指定组件的新位置,由 r.widthr.height 指定组件的新大小

参数:
r - 此组件的新的有界矩形
从以下版本开始:
JDK1.1
另请参见:
getBounds(), setLocation(int, int), setLocation(Point), setSize(int, int), setSize(Dimension)

getX

public int getX()
返回组件原点的当前 x 坐标。此方法优于 component.getBounds().xcomponent.getLocation().x 方法,因为它不会导致任何的堆分配。

返回:
组件原点的当前 x 坐标
从以下版本开始:
1.2

getY

public int getY()
返回组件原点的当前 y 坐标。此方法优于 component.getBounds().ycomponent.getLocation().y 方法,因为它不会导致任何的堆分配。

返回:
组件原点的当前 y 坐标
从以下版本开始:
1.2

getWidth

public int getWidth()
返回组件的当前宽度。此方法优于 component.getBounds().widthcomponent.getLocation().width 方法,因为它不会导致任何的堆分配。

返回:
组件的当前宽度
从以下版本开始:
1.2

getHeight

public int getHeight()
返回组件的当前高度。此方法优于 component.getBounds().heightcomponent.getSize().height 方法,因为它不会导致任何的堆分配。

返回:
组件的当前高度
从以下版本开始:
1.2

getBounds

public Rectangle getBounds(Rectangle rv)
将组件的边界存储到“返回值”rv 中并返回 rv。如果 rv 为 null,则分配一个新的 Rectangle。如果调用方想要避免在堆上分配一个新的 Rectangle 对象时,此版本的 getBounds 是很有用的。

参数:
rv - 返回值,修改为组件的边界
返回:
rv

getSize

public Dimension getSize(Dimension rv)
将组件的宽度/高度存储到“返回值”rv 中并返回 rv。如果 rv 为 null,则分配一个新的 Dimension 对象。如果调用方想要避免在堆上分配一个新的 Dimension 对象时,此版本的 getSize 是很有用的。

参数:
rv - 返回值,被修改为组件的大小
返回:
rv

getLocation

public Point getLocation(Point rv)
将组件的 x,y 原点存储到“返回值” rv 中并返回 rv。如果 rv 为 null,则分配一个新的 Point。如果调用方想要避免在堆上分配一个新的 Point 对象,则此版本的 getLocation 是很有用的。

参数:
rv - 返回值,被修改为组件的位置
返回:
rv

isOpaque

public boolean isOpaque()
如果组件是完全不透明的,则返回 true,默认返回 false。

不透明组件将每个像素绘制在其矩形区域内。透明的组件则仅绘制其某些像素,允许其下面的像素“透视出来”。因此,没有完全绘制其像素的组件则提供了一定程度的透明度。只有轻量组件可以是透明的。

保证总是完全绘制其内容的子类应该重写此方法并返回 true。所有“重量”AWT 组件都是不透明的。

返回:
如果组件是完全不透明的,则返回 true
从以下版本开始:
1.2
另请参见:
isLightweight()

isLightweight

public boolean isLightweight()
轻量组件没有本机工具包同位体。除了在此包中定义的、像 ButtonScrollbar 那些组件以外,ComponentContainer 的子类是轻量组件。所有 Swing 组件是轻量组件。

如果组件是不可显示的,那么由于无法确定不可显示的组件是轻量还是重量的,所以此方法总是返回 false

返回:
如果组件有一个轻量同位体,则返回 true;如果有一个本机同位体或没有同位体,则返回 false
从以下版本开始:
1.2
另请参见:
isDisplayable()

setPreferredSize

public void setPreferredSize(Dimension preferredSize)
将组件的首选大小设置为常量值。对 getPreferredSize 的后续调用总是返回此值。将首选大小设置为 null 可还原默认的行为。

参数:
preferredSize - 新的首选大小,或者为 null
从以下版本开始:
1.5
另请参见:
getPreferredSize(), isPreferredSizeSet()

isPreferredSizeSet

public boolean isPreferredSizeSet()
如果已将首选大小设置为非 null 值,则返回 true,否则返回 false。

返回:
如果已经用非 null 值调用了 setPreferredSize,则返回 true。
从以下版本开始:
1.5

getPreferredSize

public Dimension getPreferredSize()
获得组件的首选大小。

返回:
一个表示组件首选大小的 dimension 对象
另请参见:
getMinimumSize(), LayoutManager

preferredSize

@Deprecated
public Dimension preferredSize()
已过时。 从 JDK version 1.1 开始,由 getPreferredSize() 取代。


setMinimumSize

public void setMinimumSize(Dimension minimumSize)
将组件的最小尺寸设置为常量值。对 getMinimumSize 的后续调用总是返回此值。将最小尺寸设置为 null 可还原默认的行为。

参数:
minimumSize - 组件新的最小尺寸
从以下版本开始:
1.5
另请参见:
getMinimumSize(), isMinimumSizeSet()

isMinimumSizeSet

public boolean isMinimumSizeSet()
返回是否已用非 null 值调用了 setMinimumSize

返回:
如果已经用非 null 值调用了 setMinimumSize,则返回 true。
从以下版本开始:
1.5

getMinimumSize

public Dimension getMinimumSize()
获得组件的最小尺寸。

返回:
一个表示组件最小尺寸的 dimension 对象
另请参见:
getPreferredSize(), LayoutManager

minimumSize

@Deprecated
public Dimension minimumSize()
已过时。 从 JDK version 1.1 开始,由 getMinimumSize() 取代。


setMaximumSize

public void setMaximumSize(Dimension maximumSize)
将组件的最大尺寸设置为常量值。对 getMaximumSize 的后续调用总是返回此值。将最大尺寸设置为 null 可还原默认的行为。

参数:
maximumSize - 一个包含所需最大允许大小的 Dimension
从以下版本开始:
1.5
另请参见:
getMaximumSize(), isMaximumSizeSet()

isMaximumSizeSet

public boolean isMaximumSizeSet()
如果已将最大尺寸设置为非 null 值,则返回 true,否则返回 false。

返回:
如果 maximumSize 是非 null 值,则返回 true,否则返回 false
从以下版本开始:
1.5

getMaximumSize

public Dimension getMaximumSize()
获得组件的最大尺寸。

返回:
一个表示组件最大尺寸的 dimension 对象
另请参见:
getMinimumSize(), getPreferredSize(), LayoutManager

getAlignmentX

public float getAlignmentX()
返回 x 轴的对齐方式。指定组件相对于其他组件的对齐方式。值应该是 0 到 1 之间的数,其中 0 代表与原点对齐,1 代表距离原点最远处对齐,0.5 代表居中等。


getAlignmentY

public float getAlignmentY()
返回 y 轴的对齐方式。指定组件相对于其他组件的对齐方式。值应该是 0 到 1 之间的数,其中 0 代表与原点对齐,1 代表距离原点最远处对齐,0.5 代表居中等。


doLayout

public void doLayout()
提示布局管理器布局此组件。通常在验证组件(更明确地说是容器)时调用。

另请参见:
validate(), LayoutManager

layout

@Deprecated
public void layout()
已过时。 从 JDK version 1.1 开始,由 doLayout() 取代。


validate

public void validate()
确保组件具有有效的布局。此类主要适用于在 Container 实例上进行操作。

从以下版本开始:
JDK1.0
另请参见:
invalidate(), doLayout(), LayoutManager, Container.validate()

invalidate

public void invalidate()
使此组件无效。此组件及其所有父组件都标记为需要进行布局。此方法经常被调用,所以需要其快速执行。

从以下版本开始:
JDK1.0
另请参见:
validate(), doLayout(), LayoutManager

getGraphics

public Graphics getGraphics()
为组件创建一个图形上下文。如果组件当前是不可显示的,则此方法返回 null

返回:
组件的图形上下文,如果其没有,则返回 null
从以下版本开始:
JDK1.0
另请参见:
paint(java.awt.Graphics)

getFontMetrics

public FontMetrics getFontMetrics(Font font)
获得指定字体的字体规格。

参数:
font - 要获取其字体规格的字体
返回:
font 的字体规格
从以下版本开始:
JDK1.0
另请参见:
getFont(), getPeer(), ComponentPeer.getFontMetrics(Font), Toolkit.getFontMetrics(Font)

setCursor

public void setCursor(Cursor cursor)
为指定的光标设置光标图像。当此组件的 contains 方法为当前的光标位置返回 ture,并且此组件是可见的、可显示的并且已启用的,则显示此光标图像。设置 Container 的光标会导致在该容器的所有子组件内显示该光标,那些具有非 null 的光标除外。

参数:
cursor - Cursor 类定义的常量之一;如果此参数为 null,则此组件继承其父级的光标
从以下版本开始:
JDK1.1
另请参见:
isEnabled(), isShowing(), getCursor(), contains(int, int), Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String), Cursor

getCursor

public Cursor getCursor()
获得组件中的光标集合。如果组件没有光标集合,则返回其父级的光标。如果整个层次结构中都没有设置光标,则返回 Cursor.DEFAULT_CURSOR

从以下版本开始:
JDK1.1
另请参见:
setCursor(java.awt.Cursor)

isCursorSet

public boolean isCursorSet()
返回是否已为此组件显示地设置了光标。如果此方法返回 false,则此组件继承了其祖先的光标。

返回:
如果已为此组件显示地设置了光标,则返回 true;否则返回 false
从以下版本开始:
1.4

paint

public void paint(Graphics g)
绘制此组件。

应该绘制组件的内容时调用此方法;例如首次显示组件或者组件已损坏并需要修复时。Graphics 参数中的矩形框设置为需要绘制的区域。重写此方法的 Component 子类不需要调用 super.paint(g)

出于性能的考虑,首次显示宽度或高度为 0 的 Component 时认为它不需要进行绘制,并且也不需要修复。

:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing

参数:
g - 用于绘制的图像上下文
从以下版本开始:
JDK1.0
另请参见:
update(java.awt.Graphics)

update

public void update(Graphics g)
更新组件。

如果此组件不是轻量组件,则为了响应对 repaint 的调用,AWT 调用 update 方法。可以假定未清除背景。

Componentupdate 方法调用此组件的 paint 方法来重绘此组件。为响应对 repaint 的调用而需要其他工作的子类通常重写此方法。重写此方法的 Component 子类应该调用 super.update(g),或者直接从其 update 方法中调用 paint(g)

图形上下文的原点,即它的(00)坐标点是此组件的左上角。图形上下文的裁剪区域是此组件的边界矩形。

:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing

参数:
g - 用于更新的指定上下文
从以下版本开始:
JDK1.0
另请参见:
paint(java.awt.Graphics), repaint()

paintAll

public void paintAll(Graphics g)
绘制此组件及其所有子组件。

图形上下文的原点,即它的(00)坐标点是此组件的左上角。图形上下文的裁剪区域是此组件的边界矩形。

参数:
g - 用于绘制的图形上下文
从以下版本开始:
JDK1.0
另请参见:
paint(java.awt.Graphics)

repaint

public void repaint()
重绘此组件。

如果此组件是轻量组件,则此方法会尽快调用此组件的 paint 方法。否则此方法会尽快调用此组件的 update 方法。

:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing

从以下版本开始:
JDK1.0
另请参见:
update(Graphics)

repaint

public void repaint(long tm)
重绘组件。如果此组件是轻量组件,则在 tm 毫秒内调用 paint

:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing

参数:
tm - 更新前等待的最长时间(以毫秒为单位)
从以下版本开始:
JDK1.0
另请参见:
paint(java.awt.Graphics), update(Graphics)

repaint

public void repaint(int x,
                    int y,
                    int width,
                    int height)
重绘组件的指定矩形区域。

如果此组件是轻量组件,则此方法会尽快调用此组件的 paint 方法。否则此方法会尽快调用此组件的 update 方法。

:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing

参数:
x - x 坐标
y - y 坐标
width - 宽度
height - 高度
从以下版本开始:
JDK1.0
另请参见:
update(Graphics)

repaint

public void repaint(long tm,
                    int x,
                    int y,
                    int width,
                    int height)
tm 毫秒内重绘组件的指定矩形区域。

如果此组件是轻量组件,则此方法调用此组件的 paint 方法。否则此方法调用此组件的 update 方法。

:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing

参数:
tm - 更新前等待的最长时间(以毫秒为单位)
x - x 坐标
y - y 坐标
width - 宽度
height - 高度
从以下版本开始:
JDK1.0
另请参见:
update(Graphics)

print

public void print(Graphics g)
打印此组件。对于打印前必须进行特殊处理或打印内容不同于绘制内容的组件,应用程序应该重写此方法。

此方法的默认实现调用 paint 方法。

图形上下文的原点,即它的(00)坐标点是此组件的左上角。图形上下文的裁剪区域是此组件的边界矩形。

参数:
g - 用于绘制的图形上下文
从以下版本开始:
JDK1.0
另请参见:
paint(Graphics)

printAll

public void printAll(Graphics g)
打印此组件及其所有子组件。

图形上下文的原点,即它的(00)坐标点是此组件的左上角。图形上下文的裁剪区域是此组件的边界矩形。

参数:
g - 用于打印的指定上下文
从以下版本开始:
JDK1.0
另请参见:
print(Graphics)

imageUpdate

public boolean imageUpdate(Image img,
                           int infoflags,
                           int x,
                           int y,
                           int w,
                           int h)
图像已改变时重绘组件。当有关图像的更多信息可用时调用 ImageObserverimageUpdate 方法,该图像是以前使用诸如 GraphicsdrawImage 方法等此类异步例程请求的。有关此方法及其参数的更多信息,请参阅 imageUpdate 的定义。

随着有更多的可用图像位,ComponentimageUpdate 方法在组件上逐渐绘制图像。

如果系统属性 awt.image.incrementaldraw 丢失或其值为 true,则逐渐绘制图像。如果该系统属性为其他值,则在完全加载图像后才绘制它。

另外,如果是逐渐绘制图像,则将系统属性 awt.image.redrawrate 的值解释为一个整数,得到一个最快的重绘速率,单位是毫秒。如果该系统属性丢失或无法解释为一个整数,则重绘速率是每 100ms 一次。

xywidthheight 参数的解释取决于 infoflags 参数值。

指定者:
接口 ImageObserver 中的 imageUpdate
参数:
img - 要观察的图像
infoflags - 有关此方面的更多信息,请参阅 imageUpdate
x - x 坐标
y - y 坐标
w - 宽度
h - 高度
返回:
如果 infoflags 表明已完全加载了图像,则返回 false;否则返回 true
从以下版本开始:
JDK1.0
另请参见:
ImageObserver, Graphics.drawImage(Image, int, int, Color, java.awt.image.ImageObserver), Graphics.drawImage(Image, int, int, java.awt.image.ImageObserver), Graphics.drawImage(Image, int, int, int, int, Color, java.awt.image.ImageObserver), Graphics.drawImage(Image, int, int, int, int, java.awt.image.ImageObserver), ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)

createImage

public Image createImage(ImageProducer producer)
由指定的图像生成器创建一幅图像。

参数:
producer - 图像生成器
返回:
生成的图像
从以下版本开始:
JDK1.0

createImage

public Image createImage(int width,
                         int height)
创建一幅用于双缓冲的、可在屏幕外绘制的图像。

参数:
width - 指定的宽度
height - 指定的高度
返回:
一幅屏幕外可绘制的图像,可用于双缓冲。如果组件是不可显示的,则返回值可能为 null。如果 GraphicsEnvironment.isHeadless() 返回 true,则经常发生这种情况。
从以下版本开始:
JDK1.0
另请参见:
isDisplayable(), GraphicsEnvironment.isHeadless()

createVolatileImage

public VolatileImage createVolatileImage(int width,
                                         int height)
创建一幅用于双缓冲的、可变的、可在屏幕外绘制的图像。

参数:
width - 指定的宽度。
height - 指定的高度。
返回:
一幅屏幕外可绘制的图像,可用于双缓冲。如果组件是不可显示的,则返回值可能为 null。如果 GraphicsEnvironment.isHeadless() 返回 true,则经常发生这种情况。
从以下版本开始:
1.4
另请参见:
VolatileImage, isDisplayable(), GraphicsEnvironment.isHeadless()

createVolatileImage

public VolatileImage createVolatileImage(int width,
                                         int height,
                                         ImageCapabilities caps)
                                  throws AWTException
创建一幅具有给定容量的、可变的、可在屏幕外绘制的图像。由于操作系统的问题,此图像的内容可在任意时间丢失,所以必须通过 VolatileImage 接口管理该图像。

参数:
width - 指定的宽度。
height - 指定的高度。
caps - 图像的容量
返回:
一个 VolatileImage 对象,可用于管理图面内容丢失和容量。
抛出:
AWTException - 如果无法创建具有指定功能的图像
从以下版本开始:
1.4
另请参见:
VolatileImage

prepareImage

public boolean prepareImage(Image image,
                            ImageObserver observer)
准备一幅在此组件上呈现的图像。图像数据由另一个线程异步下载并生成适当的图像屏幕表示。

参数:
image - 准备进行屏幕表示的 Image
observer - 图像准备就绪时所要通知的 ImageObserver 对象
返回:
如果图像已经完全准备好,则返回 true;否则返回 false
从以下版本开始:
JDK1.0

prepareImage

public boolean prepareImage(Image image,
                            int width,
                            int height,
                            ImageObserver observer)
以指定的宽度和高度准备一幅在在此组件上呈现的图像。

图像数据由另一个线程异步下载并生成适当缩放的图像屏幕表示。

参数:
image - 准备进行屏幕表示的 Image 实例
width - 所需屏幕表示的宽度
height - 所需屏幕表示的高度
observer - 图像准备就绪时所要通知的 ImageObserver 对象
返回:
如果图像已经完全准备好,则返回 true;否则返回 false
从以下版本开始:
JDK1.0
另请参见:
ImageObserver

checkImage

public int checkImage(Image image,
                      ImageObserver observer)
返回指定图像屏幕表示的构造状态。

此方法不会使图像开始加载。应用程序必须使用 prepareImage 方法强制加载图像。

可在 ImageObserver 接口的讨论中找到有关此方法返回的标志的信息。

参数:
image - 要检查其状态的 Image 对象
observer - 图像准备就绪时所要通知的 ImageObserver 对象
返回:
ImageObserver 的标志按位进行 OR 运算后的结果,指示图像的哪些信息是当前可用的
从以下版本开始:
JDK1.0
另请参见:
prepareImage(Image, int, int, java.awt.image.ImageObserver), Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver), ImageObserver

checkImage

public int checkImage(Image image,
                      int width,
                      int height,
                      ImageObserver observer)
返回指定图像屏幕表示的构造状态。

此方法不会使图像开始加载。应用程序必须使用 prepareImage 方法强制加载图像。

ComponentcheckImage 方法调用其同位体的 checkImage 方法来计算标志位。如果此组件还没有同位体,则调用组件工具包的 checkImage 方法。

可在 ImageObserver 接口的讨论中找到有关此方法返回的标志的信息。

参数:
image - 要检查其状态的 Image
width - 要检查其状态的缩放图像的宽度
height - 要检查其状态的缩放图像的高度
observer - 图像准备就绪时所要通知的 ImageObserver 对象
返回:
ImageObserver 的标志按位进行 OR 运算后的结果,指示图像的哪些信息是当前可用的
从以下版本开始:
JDK1.0
另请参见:
prepareImage(Image, int, int, java.awt.image.ImageObserver), Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver), ImageObserver

setIgnoreRepaint

public void setIgnoreRepaint(boolean ignoreRepaint)
设置是否应该忽略从操作系统接受的绘制消息。这不会影响 AWT 在软件中生成的绘制事件,除非它们是对操作系统级别绘制消息的直接响应。

这是很有用的,例如正在全屏模式中运行并且需要更佳的性能,或者使用页交换作为缓冲策略时。

从以下版本开始:
1.4
另请参见:
getIgnoreRepaint(), Canvas.createBufferStrategy(int), Window.createBufferStrategy(int), BufferStrategy, GraphicsDevice.setFullScreenWindow(java.awt.Window)

getIgnoreRepaint

public boolean getIgnoreRepaint()
返回:
是否应该忽略接收操作系统发出的绘制消息。
从以下版本开始:
1.4
另请参见:
setIgnoreRepaint(boolean)

contains

public boolean contains(int x,
                        int y)
检查组件是否“包含”指定的点,其中 xy 是相对于此组件的坐标系统定义的。

参数:
x - 该点的 x 坐标
y - 该点的 y 坐标
从以下版本开始:
JDK1.1
另请参见:
getComponentAt(int, int)

inside

@Deprecated
public boolean inside(int x,
                                 int y)
已过时。 从 JDK version 1.1 开始,由 contains(int, int) 取代。


contains

public boolean contains(Point p)
检查组件是否“包含”指定的点,其中该点的 xy 坐标是相对于此组件的坐标系统定义的。

参数:
p - 点
从以下版本开始:
JDK1.1
另请参见:
getComponentAt(Point)

getComponentAt

public Component getComponentAt(int x,
                                int y)
确定此组件或其直接子组件之一是否包含(xy)位置,并且如果是,则返回包含该位置的组件。此方法仅查找一层子组件。如果点(xy)处于某个子组件内部,而该子组件本身也是某个组件的子组件,则此方法不向下查找子组件树。

如果(xy)坐标位置处于组件边界框的内部,则 Componentlocate 方法只是简单地返回组件本身;否则返回 null

参数:
x - x 坐标
y - y 坐标
返回:
包含(xy)位置的组件或子组件;如果该位置位于此组件外部,则返回 null
从以下版本开始:
JDK1.0
另请参见:
contains(int, int)

locate

@Deprecated
public Component locate(int x,
                                   int y)
已过时。 从 JDK version 1.1 开始,由 getComponentAt(int, int) 取代。


getComponentAt

public Component getComponentAt(Point p)
返回包含指定点的组件或子组件。

参数:
p - 点
从以下版本开始:
JDK1.1
另请参见:
contains(int, int)

deliverEvent

@Deprecated
public void deliverEvent(Event e)
已过时。 从 JDK version 1.1 开始,由 dispatchEvent(AWTEvent e) 取代。


dispatchEvent

public final void dispatchEvent(AWTEvent e)
为组件或其子组件之一指派事件。对于已为 Component 启用的 1.1 类型的事件,在返回前要调用 processEvent

参数:
e - 事件

postEvent

@Deprecated
public boolean postEvent(Event e)
已过时。 从 JDK version 1.1 开始,由 dispatchEvent(AWTEvent) 取代。

指定者:
接口 MenuContainer 中的 postEvent

addComponentListener

public void addComponentListener(ComponentListener l)
添加指定的组件侦听器,接收此组件发出的组件事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 组件侦听器
从以下版本开始:
JDK1.1
另请参见:
ComponentEvent, ComponentListener, removeComponentListener(java.awt.event.ComponentListener), getComponentListeners()

removeComponentListener

public void removeComponentListener(ComponentListener l)
移除指定的组件侦听器,不再接收此组件发出的组件事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 组件侦听器
从以下版本开始:
JDK1.1
另请参见:
ComponentEvent, ComponentListener, addComponentListener(java.awt.event.ComponentListener), getComponentListeners()

getComponentListeners

public ComponentListener[] getComponentListeners()
返回在此组件上所有已注册的组件侦听器的数组。

返回:
组件的所有 ComponentListener,如果当前没有注册的组件侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addComponentListener(java.awt.event.ComponentListener), removeComponentListener(java.awt.event.ComponentListener)

addFocusListener

public void addFocusListener(FocusListener l)
添加指定的焦点侦听器,当此组件获得输入焦点时能够接收此组件发出的焦点事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 焦点侦听器
从以下版本开始:
JDK1.1
另请参见:
FocusEvent, FocusListener, removeFocusListener(java.awt.event.FocusListener), getFocusListeners()

removeFocusListener

public void removeFocusListener(FocusListener l)
移除指定的焦点侦听器,不再接收此组件发出的焦点事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 焦点侦听器
从以下版本开始:
JDK1.1
另请参见:
FocusEvent, FocusListener, addFocusListener(java.awt.event.FocusListener), getFocusListeners()

getFocusListeners

public FocusListener[] getFocusListeners()
返回在此组件上所有已注册的焦点侦听器的数组。

返回:
组件的所有 FocusListener,如果当前没有注册的焦点侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addFocusListener(java.awt.event.FocusListener), removeFocusListener(java.awt.event.FocusListener)

addHierarchyListener

public void addHierarchyListener(HierarchyListener l)
添加指定的层次结构侦听器,当此容器所属的层次结构发生变化时能够接收此组件发出的层次结构变化事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 层次结构侦听器
从以下版本开始:
1.3
另请参见:
HierarchyEvent, HierarchyListener, removeHierarchyListener(java.awt.event.HierarchyListener), getHierarchyListeners()

removeHierarchyListener

public void removeHierarchyListener(HierarchyListener l)
移除指定的层次结构侦听器,不再接收此组件发出的层次结构变化事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 层次结构侦听器
从以下版本开始:
1.3
另请参见:
HierarchyEvent, HierarchyListener, addHierarchyListener(java.awt.event.HierarchyListener), getHierarchyListeners()

getHierarchyListeners

public HierarchyListener[] getHierarchyListeners()
返回在此组件上所有已注册的层次结构侦听器的数组。

返回:
组件的所有 HierarchyListener,如果当前没有注册的层次结构侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addHierarchyListener(java.awt.event.HierarchyListener), removeHierarchyListener(java.awt.event.HierarchyListener)

addHierarchyBoundsListener

public void addHierarchyBoundsListener(HierarchyBoundsListener l)
添加指定的层次结构边界侦听器,当此容器所属的层次结构发生变化时能够接收此组件发出的层次结构边界事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 层次结构边界侦听器
从以下版本开始:
1.3
另请参见:
HierarchyEvent, HierarchyBoundsListener, removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener), getHierarchyBoundsListeners()

removeHierarchyBoundsListener

public void removeHierarchyBoundsListener(HierarchyBoundsListener l)
移除指定的层次结构边界侦听器,不再接收此组件发出的层次结构边界事件如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 层次结构边界侦听器
从以下版本开始:
1.3
另请参见:
HierarchyEvent, HierarchyBoundsListener, addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener), getHierarchyBoundsListeners()

getHierarchyBoundsListeners

public HierarchyBoundsListener[] getHierarchyBoundsListeners()
返回在此组件上所有已注册的层次结构边界侦听器的数组。

返回:
组件的所有 HierarchyBoundsListener,如果当前没有注册的层次结构边界侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener), removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)

addKeyListener

public void addKeyListener(KeyListener l)
添加指定的按键侦听器,接收此组件发出的按键事件。如果 l 为 null,则不会抛出异常并且不执行操作。

参数:
l - 按键侦听器。
从以下版本开始:
JDK1.1
另请参见:
KeyEvent, KeyListener, removeKeyListener(java.awt.event.KeyListener), getKeyListeners()

removeKeyListener

public void removeKeyListener(KeyListener l)
移除指定的按键侦听器,不再接收此组件发出的按键事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 按键侦听器
从以下版本开始:
JDK1.1
另请参见:
KeyEvent, KeyListener, addKeyListener(java.awt.event.KeyListener), getKeyListeners()

getKeyListeners

public KeyListener[] getKeyListeners()
返回在此组件上所有已注册的按键侦听器的数组。

返回:
组件的所有 KeyListener,如果当前没有注册的按键侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addKeyListener(java.awt.event.KeyListener), removeKeyListener(java.awt.event.KeyListener)

addMouseListener

public void addMouseListener(MouseListener l)
添加指定的鼠标侦听器,接收此组件发出的鼠标事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 鼠标侦听器
从以下版本开始:
JDK1.1
另请参见:
MouseEvent, MouseListener, removeMouseListener(java.awt.event.MouseListener), getMouseListeners()

removeMouseListener

public void removeMouseListener(MouseListener l)
移除指定的鼠标侦听器,不再接收此组件发出的鼠标事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 鼠标侦听器
从以下版本开始:
JDK1.1
另请参见:
MouseEvent, MouseListener, addMouseListener(java.awt.event.MouseListener), getMouseListeners()

getMouseListeners

public MouseListener[] getMouseListeners()
返回在此组件上所有已注册的鼠标侦听器的数组。

返回:
组件的所有 MouseListener,如果当前没有注册的鼠标侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addMouseListener(java.awt.event.MouseListener), removeMouseListener(java.awt.event.MouseListener)

addMouseMotionListener

public void addMouseMotionListener(MouseMotionListener l)
添加指定的鼠标移动侦听器,接收此组件发出的鼠标移动事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 鼠标移动侦听器
从以下版本开始:
JDK1.1
另请参见:
MouseEvent, MouseMotionListener, removeMouseMotionListener(java.awt.event.MouseMotionListener), getMouseMotionListeners()

removeMouseMotionListener

public void removeMouseMotionListener(MouseMotionListener l)
移除指定的鼠标移动侦听器,不再接收此组件发出的鼠标移动事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 鼠标移动侦听器
从以下版本开始:
JDK1.1
另请参见:
MouseEvent, MouseMotionListener, addMouseMotionListener(java.awt.event.MouseMotionListener), getMouseMotionListeners()

getMouseMotionListeners

public MouseMotionListener[] getMouseMotionListeners()
返回在此组件上所有已注册的鼠标移动侦听器的数组。

返回:
组件的所有 MouseMotionListener,如果当前没有注册的鼠标移动侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addMouseMotionListener(java.awt.event.MouseMotionListener), removeMouseMotionListener(java.awt.event.MouseMotionListener)

addMouseWheelListener

public void addMouseWheelListener(MouseWheelListener l)
添加指定的鼠标轮侦听器,接收此组件发出的鼠标轮事件。容器还接收子组件发出的鼠标轮事件。

有关如何指派鼠标轮事件的信息,请参阅 MouseWheelEvent 的类描述。

如果 l 为 null,则不会抛出异常并且不执行操作。

参数:
l - 鼠标轮侦听器
从以下版本开始:
1.4
另请参见:
MouseWheelEvent, MouseWheelListener, removeMouseWheelListener(java.awt.event.MouseWheelListener), getMouseWheelListeners()

removeMouseWheelListener

public void removeMouseWheelListener(MouseWheelListener l)
移除指定的鼠标轮侦听器,不再接收此组件发出的鼠标轮事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果 l 为 null,则不会抛出异常并且不执行操作。

参数:
l - 鼠标轮侦听器。
从以下版本开始:
1.4
另请参见:
MouseWheelEvent, MouseWheelListener, addMouseWheelListener(java.awt.event.MouseWheelListener), getMouseWheelListeners()

getMouseWheelListeners

public MouseWheelListener[] getMouseWheelListeners()
返回在此组件上所有已注册的鼠标轮侦听器的数组。

返回:
组件的所有 MouseWheelListener,如果当前没有注册的鼠标轮侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addMouseWheelListener(java.awt.event.MouseWheelListener), removeMouseWheelListener(java.awt.event.MouseWheelListener)

addInputMethodListener

public void addInputMethodListener(InputMethodListener l)
添加指定的输入方法侦听器,接收此组件发出的输入方法事件。如果组件还重写了 getInputMethodRequests 并返回一个 InputMethodRequests 实例,则该组件只接收输入方法所发出的输入方法事件。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 输入方法侦听器
从以下版本开始:
1.2
另请参见:
InputMethodEvent, InputMethodListener, removeInputMethodListener(java.awt.event.InputMethodListener), getInputMethodListeners(), getInputMethodRequests()

removeInputMethodListener

public void removeInputMethodListener(InputMethodListener l)
移除指定的输入方法侦听器,不再接收此组件发出的输入方法事件。如果参数所指定的侦听器尚未添加到此组件,则此方法不起作用,也不抛出异常。如果侦听器 lnull,则不会抛出异常并且不执行操作。

参数:
l - 输入方法侦听器
从以下版本开始:
1.2
另请参见:
InputMethodEvent, InputMethodListener, addInputMethodListener(java.awt.event.InputMethodListener), getInputMethodListeners()

getInputMethodListeners

public InputMethodListener[] getInputMethodListeners()
返回在此组件上所有已注册的输入方法侦听器的数组。

返回:
组件的所有 InputMethodListener,如果当前没有注册的输入方法侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addInputMethodListener(java.awt.event.InputMethodListener), removeInputMethodListener(java.awt.event.InputMethodListener)

getListeners

public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回一个当前在此 Component 上作为 FooListener 注册的所有对象的数组。FooListener 是用 addFooListener 方法注册的。

可以使用 class 字面值来指定 listenerType 参数,如 FooListener.class。例如,可以使用以下代码来查询 Component c 的鼠标侦听器:

MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));
如果不存在这样的侦听器,则此方法返回一个空数组。

参数:
listenerType - 所请求的侦听器类型;此参数应该指定一个从 java.util.EventListener 继承的接口
返回:
返回一个在此组件上作为 FooListener 注册的所有对象的数组,如果尚未添加这样的侦听器,则返回一个空数组
抛出:
ClassCastException - 如果 listenerType 未指定一个实现 java.util.EventListener 的类或接口
从以下版本开始:
1.3
另请参见:
getComponentListeners(), getFocusListeners(), getHierarchyListeners(), getHierarchyBoundsListeners(), getKeyListeners(), getMouseListeners(), getMouseMotionListeners(), getMouseWheelListeners(), getInputMethodListeners(), getPropertyChangeListeners()

getInputMethodRequests

public InputMethodRequests getInputMethodRequests()
获得输入方法请求处理程序,该处理程序支持此组件输入方法发出的请求。支持当场文本输入的组件必须重写此方法,以便返回一个 InputMethodRequests 实例。同时,还必须处理输入方法事件。

返回:
组件的输入方法请求处理程序,默认为 null
从以下版本开始:
1.2
另请参见:
addInputMethodListener(java.awt.event.InputMethodListener)

getInputContext

public InputContext getInputContext()
获得此组件使用的输入上下文,用于处理在此组件中输入文本时与输入方法的通信。默认情况下,返回父组件使用的输入上下文。组件可能重写此方法,以便返回一个私有的输入上下文。

返回:
组件使用的输入上下文,如果可以确定没有上下文,则返回 null
从以下版本开始:
1.2

enableEvents

protected final void enableEvents(long eventsToEnable)
启用由传递给此组件的指定事件屏蔽参数所定义的事件。

将某个事件类型的侦听器添加到该组件时,自动启用该事件类型。

此方法只能由 Component 的子类调用,该子类需要将指定的事件类型传递给 processEvent,而不管是否已注册了侦听器。

参数:
eventsToEnable - 定义事件类型的事件屏蔽
从以下版本开始:
JDK1.1
另请参见:
processEvent(java.awt.AWTEvent), disableEvents(long), AWTEvent

disableEvents

protected final void disableEvents(long eventsToDisable)
禁用由传递给此组件的指定事件屏蔽参数所定义的事件。

参数:
eventsToDisable - 定义事件类型的事件屏蔽
从以下版本开始:
JDK1.1
另请参见:
enableEvents(long)

coalesceEvents

protected AWTEvent coalesceEvents(AWTEvent existingEvent,
                                  AWTEvent newEvent)
将加入的事件与已有的事件组合在一起。如果队列中的事件与加入的事件有相同的 ID(两个事件都将此组件作为其源组件)时,则由 EventQueue.postEvent 调用此方法。此方法返回一个已组合的事件并用该事件取代已有的事件(然后丢弃新事件),或者返回 null,表示没有进行组合(将第二个事件添加到队列的末尾)。如果未返回 null,则可以修改并返回任一事件参数,同时丢弃另一个参数。

coalesceEvents 实现可组合两种事件类型:鼠标移动(和拖动)事件,以及绘制(和更新)事件。对于鼠标移动事件,总是返回最后一个事件,导致丢弃中间的移动。对于绘制事件,将新事件组合到同位体中的复杂 RepaintArea。总是返回新的 AWTEvent

参数:
existingEvent - 已在 EventQueue 中的事件
newEvent - 要加入到 EventQueue 中的事件
返回:
一个已组合的事件,或者返回 null 表明没有进行组合

processEvent

protected void processEvent(AWTEvent e)
处理在组件上发生的事件。默认情况下,此方法调用给定事件类型的相应 process<event type>Event 方法。

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 事件
从以下版本开始:
JDK1.1
另请参见:
processComponentEvent(java.awt.event.ComponentEvent), processFocusEvent(java.awt.event.FocusEvent), processKeyEvent(java.awt.event.KeyEvent), processMouseEvent(java.awt.event.MouseEvent), processMouseMotionEvent(java.awt.event.MouseEvent), processInputMethodEvent(java.awt.event.InputMethodEvent), processHierarchyEvent(java.awt.event.HierarchyEvent), processMouseWheelEvent(java.awt.event.MouseWheelEvent)

processComponentEvent

protected void processComponentEvent(ComponentEvent e)
处理组件上发生的组件事件,方法是将其指派到任意已注册的 ComponentListener 对象。

如果组件上没有启用组件事件,则不调用此方法。发生下列之一时启用组件事件:

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 组件事件
从以下版本开始:
JDK1.1
另请参见:
ComponentEvent, ComponentListener, addComponentListener(java.awt.event.ComponentListener), enableEvents(long)

processFocusEvent

protected void processFocusEvent(FocusEvent e)
处理组件上发生的焦点事件,方法是将其指派到任意已注册的 FocusListener 对象。

如果组件上没有启用焦点事件,则不调用此方法。发生下列之一时启用焦点事件:

如果为某个 Component 启用了焦点事件,则当前的 KeyboardFocusManager 确定是否应该将焦点事件指派到已注册的 FocusListener 对象。如果未指派事件,则 KeyboardFocusManager 调用 ComponentdispatchEvent 方法,此方法又调用 ComponentprocessFocusEvent 方法。

如果为 Component 启用了焦点事件,则用 FocusEvent 作为参数来调用 ComponentdispatchEvent 方法将导致调用 ComponentprocessFocusEvent 方法,而不管当前的 KeyboardFocusManager 如何。

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 焦点事件
从以下版本开始:
JDK1.1
另请参见:
FocusEvent, FocusListener, KeyboardFocusManager, addFocusListener(java.awt.event.FocusListener), enableEvents(long), dispatchEvent(java.awt.AWTEvent)

processKeyEvent

protected void processKeyEvent(KeyEvent e)
处理组件上发生的按键事件,方法是将其指派到任意已注册的 KeyListener 对象。

如果组件上没有启用按键事件,则不调用此方法。发生下列之一时启用按键事件:

如果为某个 Component 启用了按键事件,则当前的 KeyboardFocusManager 确定是否应该将按键事件指派到已注册的 KeyListener 事件。DefaultKeyboardFocusManager 不会为非焦点所有者或未显示的 Component 指派按键事件。

在 J2SE 1.4 中,已将 KeyEvent 重定向到焦点所有者。有关更多信息,请参阅 Focus Specification

只要组件正在显示、已定焦、已启用并且其上的按键事件已启用,那么使用 dispatchEvent 作为参数来调用 KeyEventComponent 方法将导致调用 ComponentprocessKeyEvent 方法,而不管当前的 KeyboardFocusManager 如何。

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 按键事件
从以下版本开始:
JDK1.1
另请参见:
KeyEvent, KeyListener, KeyboardFocusManager, DefaultKeyboardFocusManager, processEvent(java.awt.AWTEvent), dispatchEvent(java.awt.AWTEvent), addKeyListener(java.awt.event.KeyListener), enableEvents(long), isShowing()

processMouseEvent

protected void processMouseEvent(MouseEvent e)
处理组件上发生的鼠标事件,方法是将其指派到任意已注册的 MouseListener 对象。

如果组件上没有启用鼠标事件,则不调用此方法。发生下列之一时启用鼠标事件:

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 鼠标事件
从以下版本开始:
JDK1.1
另请参见:
MouseEvent, MouseListener, addMouseListener(java.awt.event.MouseListener), enableEvents(long)

processMouseMotionEvent

protected void processMouseMotionEvent(MouseEvent e)
处理组件上发生的鼠标移动事件,方法是将其指派到任意已注册的 MouseMotionListener 事件。

如果组件上没有启用鼠标移动事件,则不调用此方法。发生下列之一时启用鼠标移动事件:

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 鼠标移动事件
从以下版本开始:
JDK1.1
另请参见:
MouseEvent, MouseMotionListener, addMouseMotionListener(java.awt.event.MouseMotionListener), enableEvents(long)

processMouseWheelEvent

protected void processMouseWheelEvent(MouseWheelEvent e)
处理组件上发生的鼠标轮事件,方法是将其指派到任意已注册的 MouseWheelListener 对象。

如果组件上没有启用鼠标轮事件,则不调用此方法。发生下列之一时启用鼠标轮事件:

有关如何指派鼠标轮事件的信息,请参阅 MouseWheelEvent 的类描述。

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 鼠标轮事件
从以下版本开始:
1.4
另请参见:
MouseWheelEvent, MouseWheelListener, addMouseWheelListener(java.awt.event.MouseWheelListener), enableEvents(long)

processInputMethodEvent

protected void processInputMethodEvent(InputMethodEvent e)
处理组件上发生的输入方法事件,方法是将其指派到任意已注册的 InputMethodListener 对象。

如果组件上没有启用输入方法事件,则不调用此方法。发生下列之一时启用输入方法事件:

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 输入方法事件
从以下版本开始:
1.2
另请参见:
InputMethodEvent, InputMethodListener, addInputMethodListener(java.awt.event.InputMethodListener), enableEvents(long)

processHierarchyEvent

protected void processHierarchyEvent(HierarchyEvent e)
处理组件上发生的层次结构事件,方法是将其指派到任意已注册的 HierarchyListener 对象。

如果组件上没有启用层次结构事件,则不调用此方法。发生下列之一时启用层次结构事件:

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 层次结构事件
从以下版本开始:
1.3
另请参见:
HierarchyEvent, HierarchyListener, addHierarchyListener(java.awt.event.HierarchyListener), enableEvents(long)

processHierarchyBoundsEvent

protected void processHierarchyBoundsEvent(HierarchyEvent e)
处理组件上发生的层次结构边界事件,方法是将其指派到任意已注册的 HierarchyBoundsListener 对象。

如果组件上没有启用层次结构边界事件,则不调用此方法。发生下列之一时启用层次结构边界事件:

注意,如果事件参数为 null,则未指定行为并且可能导致异常。

参数:
e - 层次结构事件
从以下版本开始:
1.3
另请参见:
HierarchyEvent, HierarchyBoundsListener, addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener), enableEvents(long)

handleEvent

@Deprecated
public boolean handleEvent(Event evt)
已过时。 从 JDK version 1.1 开始,由 processEvent(AWTEvent) 取代。


mouseDown

@Deprecated
public boolean mouseDown(Event evt,
                                    int x,
                                    int y)
已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。


mouseDrag

@Deprecated
public boolean mouseDrag(Event evt,
                                    int x,
                                    int y)
已过时。 从 JDK version 1.1 开始,由 processMouseMotionEvent(MouseEvent) 取代。


mouseUp

@Deprecated
public boolean mouseUp(Event evt,
                                  int x,
                                  int y)
已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。


mouseMove

@Deprecated
public boolean mouseMove(Event evt,
                                    int x,
                                    int y)
已过时。 从 JDK version 1.1 开始,由 processMouseMotionEvent(MouseEvent) 取代。


mouseEnter

@Deprecated
public boolean mouseEnter(Event evt,
                                     int x,
                                     int y)
已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。


mouseExit

@Deprecated
public boolean mouseExit(Event evt,
                                    int x,
                                    int y)
已过时。 从 JDK version 1.1 开始,由 processMouseEvent(MouseEvent) 取代。


keyDown

@Deprecated
public boolean keyDown(Event evt,
                                  int key)
已过时。 从 JDK version 1.1 开始,由 processKeyEvent(KeyEvent) 取代。


keyUp

@Deprecated
public boolean keyUp(Event evt,
                                int key)
已过时。 从 JDK version 1.1 开始,由 processKeyEvent(KeyEvent) 取代。


action

@Deprecated
public boolean action(Event evt,
                                 Object what)
已过时。 从 JDK version 1.1 开始,应该将此组件作为组件(激发操作事件)上的 ActionListener 来注册。


addNotify

public void addNotify()
通过将此 Component 连接到一个本机屏幕资源使其成为可显示的。此方法由工具包内部调用,不应直接由程序调用。

从以下版本开始:
JDK1.0
另请参见:
isDisplayable(), removeNotify()

removeNotify

public void removeNotify()
通过销毁此 Component 的本机屏幕资源使其成为不可显示的。

此方法由工具包内部调用,不应直接由程序调用。重写此方法的代码应该在重写方法的首行调用 super.removeNotify

从以下版本开始:
JDK1.0
另请参见:
isDisplayable(), addNotify()

gotFocus

@Deprecated
public boolean gotFocus(Event evt,
                                   Object what)
已过时。 从 JDK version 1.1 开始,由 processFocusEvent(FocusEvent) 取代。


lostFocus

@Deprecated
public boolean lostFocus(Event evt,
                                    Object what)
已过时。 从 JDK version 1.1 开始,由 processFocusEvent(FocusEvent) 取代。


isFocusTraversable

@Deprecated
public boolean isFocusTraversable()
已过时。 在 1.4 中,由 isFocusable() 取代。

返回此 Component 是否可以成为焦点所有者。

返回:
如果此 Component 是可以获得焦点的,则返回 true;否则返回 false
从以下版本开始:
JDK1.1
另请参见:
setFocusable(boolean)

isFocusable

public boolean isFocusable()
返回此 Component 是否可以获得焦点。

返回:
如果此 Component 可以获得焦点,则返回 true;否则返回 false
从以下版本开始:
1.4
另请参见:
setFocusable(boolean)

setFocusable

public void setFocusable(boolean focusable)
将此 Component 的焦点状态设置为指定值。此值覆盖 Component 的默认焦点状态。

参数:
focusable - 表明此 Component 是否可以获得焦点
从以下版本开始:
1.4
另请参见:
isFocusable()

setFocusTraversalKeys

public void setFocusTraversalKeys(int id,
                                  Set<? extends AWTKeyStroke> keystrokes)
为此 Component 的给定遍历操作设置焦点遍历键。

Component 的焦点遍历键的默认值与实现有关。Sun 建议为特定本机平台的所有实现使用相同的默认值。下面列出了 Windows 和 Unix 的建议值。在 Sun AWT 实现中使用了这些建议值。

标识符 含义 默认值
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS 正常的前向键盘遍历 KEY_PRESSED 上的 TAB,KEY_PRESSED 上的 CTRL-TAB
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 正常的反向键盘遍历 KEY_PRESSED 上的 SHIFT-TAB,KEY_PRESSED 上的 CTRL-SHIFT-TAB
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 到上一个焦点遍历循环
使用空的 Set 来禁用遍历键;建议使用 Collections.EMPTY_SET。

客户机代码使用 AWTKeyStroke API 可以指定根据哪种特定的 KeyEvents(KEY_PRESSED 或 KEY_RELEASED)发生焦点遍历操作。无论指定了哪种 KeyEvent,都将使用与焦点遍历键相关的所有 KeyEvents(包括相关联的 KEY_TYPED 事件),并且不会指派到任意 Component。将 KEY_TYPED 事件指定为焦点遍历操作的映射,或者将相同的事件映射到多个默认焦点遍历操作会生成运行时错误。

如果为 Set 指定了 null 值,则此 Component 会继承其父级的 Set。如果此 Component 的所有祖先都为 Set 指定了 null,则使用当前 KeyboardFocusManager 的默认 Set。

参数:
id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一。
keystrokes - 指定操作的 AWTKeyStroke 的 Set。
抛出:
IllegalArgumentException - 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一、或者 keystroke 包含 null、或者 keystroke 中的 Object 不是 AWTKeyStroke、或者任意 keystroke 表示一个 KEY_TYPED 事件,或者任意 keystroke 已经映射到此 Component 的另一个焦点遍历操作
从以下版本开始:
1.4
另请参见:
getFocusTraversalKeys(int), KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS

getFocusTraversalKeys

public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
返回此 Component 的给定遍历操作的焦点遍历键 Set。(有关每个键的完整说明,请参阅 setFocusTraversalKeys)。

如果没有为此 Component 显式定义遍历键 Set,则返回此 Component 的父级 Set。如果没有为此 Component 的所有父级显式定义 Set,则返回当前 KeyboardFocusManager 的默认 Set。

参数:
id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一。
返回:
指定操作的 AWTKeyStrokes 的 Set。Set 是不可修改的,但可为空。此方法永远不会返回 null。
抛出:
IllegalArgumentException - 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一
从以下版本开始:
1.4
另请参见:
setFocusTraversalKeys(int, java.util.Set), KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS

areFocusTraversalKeysSet

public boolean areFocusTraversalKeysSet(int id)
返回是否为此 Component 显式定义了给定焦点遍历操作的焦点遍历键 Set。如果此方法返回 false,则此 Component 继承了其祖先或当前 KeyboardFocusManager 的 Set。

参数:
id - KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一
返回:
如果已为此 Component 显式定义了给定焦点遍历操作的焦点遍历键 Set,则返回 true;否则返回 false
抛出:
IllegalArgumentException - 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一
从以下版本开始:
1.4

setFocusTraversalKeysEnabled

public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
设置是否为此 Component 启用焦点遍历键。其焦点遍历键已禁用的 Component 接收焦点遍历键的按键事件。其焦点遍历键已启用的 Component 不会看到这些事件;相反,会自动将这些事件转换为遍历操作。

参数:
focusTraversalKeysEnabled - 是否为此 Component 启用焦点遍历键
从以下版本开始:
1.4
另请参见:
getFocusTraversalKeysEnabled(), setFocusTraversalKeys(int, java.util.Set), getFocusTraversalKeys(int)

getFocusTraversalKeysEnabled

public boolean getFocusTraversalKeysEnabled()
返回是否已为此 Component 启用了焦点遍历键。其焦点遍历键已禁用的 Component 接收焦点遍历键的按键事件。其焦点遍历键已启用的 Component 不会看到这些事件;相反,会自动将这些事件转换为遍历操作。

返回:
是否已为此 Component 启用焦点遍历键
从以下版本开始:
1.4
另请参见:
setFocusTraversalKeysEnabled(boolean), setFocusTraversalKeys(int, java.util.Set), getFocusTraversalKeys(int)

requestFocus

public void requestFocus()
请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层 Window 没有成为获得焦点的窗口而拒绝了此请求,则记住此请求,并在后来用户使窗口成为获得焦点的窗口时许可此请求。

此方法不能用于为根本不是 Component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner()

因为此方法的焦点行为与平台有关,所以强烈要求开发人员在可能时使用 requestFocusInWindow

从以下版本开始:
JDK1.0
另请参见:
requestFocusInWindow(), FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()

requestFocus

protected boolean requestFocus(boolean temporary)
请求此 Component 获得输入焦点,并且此 Component 的顶层祖先成为获得焦点的 Window。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层窗口没有成为获得焦点的窗口而拒绝了此请求,则记住此请求,并在后来用户使窗口成为获得焦点的窗口时许可此请求。

此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。

此方法不能用于为根本不是 component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner

因为此方法的焦点行为与平台有关,所以强烈要求开发人员在可能时使用 requestFocusInWindow

此方法会尽力完成该请求,确保作为此请求结果所产生的 FocusEvent 具有指定的临时值。但是,因为在所有本机窗口系统上指定一个任意的临时状态是不可能实现的,所以只有轻量 Component 可以保证此方法的行为正确。此方法并非用于一般用途,而是作为轻量组件库(如 Swing)的挂钩而存在的。

参数:
temporary - 如果焦点改变是临时的(如窗口丢失焦点),则为 true;有关临时焦点改变的更多信息,请参阅 Focus Specification
返回:
如果焦点改变请求注定要失败,则返回 false;如果可能成功,则返回 true
从以下版本开始:
1.4
另请参见:
FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()

requestFocusInWindow

public boolean requestFocusInWindow()
如果此 Component 的顶层祖先已经是获得焦点的窗口,则请求此 Component 获得输入焦点。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员永远不能假定此 Component 是焦点所有者。

此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。

此方法不能用于为根本不是 Component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner()

可在各种平台之间一致地实现此方法的焦点行为,所以强烈要求开发人员在可能时使用此方法,而不是 requestFocus。依赖 requestFocus 的代码可能在不同平台上表现出不同的焦点行为。

返回:
如果焦点改变请求注定要失败,则返回 false;如果可能成功,则返回 true
从以下版本开始:
1.4
另请参见:
requestFocus(), FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()

requestFocusInWindow

protected boolean requestFocusInWindow(boolean temporary)
如果此 Component 的顶层祖先已经是获得焦点的 Window,则请求此 Component 获得输入焦点。此组件对于所要许可的请求而言必须是可显示的、可见的和可获得焦点的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。

此方法返回布尔值。如果返回 false,则请求注定要失败。如果返回 true,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true 表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。

此方法不能用于为根本不是 Component 的内容设置焦点所有者。应该使用 KeyboardFocusManager.clearGlobalFocusOwner

可在各种平台之间一致地实现此方法的焦点行为,所以强烈要求开发人员在可能时使用此方法,而不是 requestFocus。依赖 requestFocus 的代码可能在不同平台上表现出不同的焦点行为。

此方法会尽力完成该请求,确保作为此请求结果所产生的 FocusEvent 具有指定的临时值。但是,因为在所有本机窗口系统上指定一个任意的临时状态是不可能实现的,所以只有轻量组件可以保证此方法的行为正确。此方法并非用于一般用途,而是作为轻量组件库(如 Swing)的挂钩而存在的。

参数:
temporary - 如果焦点改变是临时的(如窗口丢失焦点),则为 true;有关临时焦点改变的更多信息,请参阅 Focus Specification
返回:
如果焦点改变请求注定要失败,则返回 false;如果可能成功,则返回 true
从以下版本开始:
1.4
另请参见:
requestFocus(), FocusEvent, addFocusListener(java.awt.event.FocusListener), isFocusable(), isDisplayable(), KeyboardFocusManager.clearGlobalFocusOwner()

transferFocus

public void transferFocus()
将焦点转移到下一个组件,就好像此 Component 曾是焦点所有者。

从以下版本开始:
JDK1.1
另请参见:
requestFocus()

getFocusCycleRootAncestor

public Container getFocusCycleRootAncestor()
返回作为此 Component 焦点遍历循环的焦点循环根的 Container。每个焦点遍历循环只有一个焦点遍历循环根,每个不是 Container 的 Component 只属于一个焦点遍历循环。是焦点循环根的 Container 属于两个循环:一个起始于 Container 本身的循环,以及一个起始于 Container 的最近焦点循环根祖先的循环。对于后者,此方法返回 Container 的最近焦点循环根祖先。

返回:
此 Component 的最近焦点循环根祖先
从以下版本开始:
1.4
另请参见:
Container.isFocusCycleRoot()

isFocusCycleRoot

public boolean isFocusCycleRoot(Container container)
返回指定的 Container 是否为此 Component 焦点遍历循环的焦点循环根。每个焦点遍历循环只有一个焦点遍历循环根,每个不是 Container 的 Component 只属于一个焦点遍历循环。

参数:
container - 要测试的 Container
返回:
如果指定的 Container 是此 Component 的焦点循环根,则返回 true;否则返回 false
从以下版本开始:
1.4
另请参见:
Container.isFocusCycleRoot()

nextFocus

@Deprecated
public void nextFocus()
已过时。 从 JDK version 1.1 开始,由 transferFocus() 取代。


transferFocusBackward

public void transferFocusBackward()
将焦点转移到前一个组件,就好像此 Component 曾是焦点所有者。

从以下版本开始:
1.4
另请参见:
requestFocus()

transferFocusUpCycle

public void transferFocusUpCycle()
将焦点向上转移一个焦点遍历循环。通常将焦点所有者设置为此 Component 的焦点循环根,将当前的焦点循环根设置为新焦点所有者的的焦点循环根。但是如果此 Component 的焦点循环根是一个 Window,则将焦点所有者设置为焦点循环根的默认 Component,以便获得焦点,并且不改变当前的焦点循环根。

从以下版本开始:
1.4
另请参见:
requestFocus(), Container.isFocusCycleRoot(), Container.setFocusCycleRoot(boolean)

hasFocus

public boolean hasFocus()
如果此 Component 是焦点所有者,则返回 true。此方法已过时,并且已经由 isFocusOwner() 取代。

返回:
如果此 Component 是焦点所有者,则返回 true;否则返回 false
从以下版本开始:
1.2

isFocusOwner

public boolean isFocusOwner()
如果此 Component 是焦点所有者,则返回 true

返回:
如果此 Component 是焦点所有者,则返回 true;否则返回 false
从以下版本开始:
1.4

add

public void add(PopupMenu popup)
向组件添加指定的弹出菜单。

参数:
popup - 要添加给组件的弹出菜单。
从以下版本开始:
JDK1.1
另请参见:
remove(MenuComponent)

remove

public void remove(MenuComponent popup)
从组件移除指定的弹出菜单。

指定者:
接口 MenuContainer 中的 remove
参数:
popup - 要移除的弹出菜单
从以下版本开始:
JDK1.1
另请参见:
add(PopupMenu)

paramString

protected String paramString()
返回此组件状态的字符串表示形式。此方法仅在进行调试的时候使用,对于这两个实现,返回的字符串的内容和格式可能有所不同。返回的字符串可能为空,但不可能为 null

返回:
组件状态的字符串表示形式
从以下版本开始:
JDK1.0

toString

public String toString()
返回此组件及其值的字符串表示形式。

覆盖:
Object 中的 toString
返回:
组件的字符串表示形式。
从以下版本开始:
JDK1.0

list

public void list()
将组件列表打印到标准系统输出流 System.out

从以下版本开始:
JDK1.0
另请参见:
System.out

list

public void list(PrintStream out)
将组件列表打印到指定的输出流。

参数:
out - 输出流
从以下版本开始:
JDK1.0

list

public void list(PrintStream out,
                 int indent)
将列表从指定的缩进开始打印到指定的输出流。

参数:
out - 输出流
indent - 缩进的空格数
从以下版本开始:
JDK1.0
另请参见:
PrintStream.println(java.lang.Object)

list

public void list(PrintWriter out)
将列表打印到指定的 PrintWriter。

参数:
out - 打印到的 PrintWriter
从以下版本开始:
JDK1.1

list

public void list(PrintWriter out,
                 int indent)
将列表从指定的缩进开始打印到指定的 PrintWriter。

参数:
out - 打印到的 PrintWriter
indent - 缩进的空格数
从以下版本开始:
JDK1.1
另请参见:
PrintStream.println(java.lang.Object)

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
向侦听器列表添加一个 PropertyChangeListener。侦听器是为此类的所有 bound 属性注册的,这些属性包括: 注意,如果此 Component 继承了一个 bound 属性,则不会激发事件来响应继承属性的改变。

如果 listenernull,则不会抛出异常并且不执行操作。

参数:
listener - 要添加的属性更改侦听器
另请参见:
removePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表移除一个 PropertyChangeListener。应该使用此方法移除为此类所有 bound 属性所注册的 PropertyChangeListeners。

如果 listener 为 null,则不会抛出异常并且不执行操作。

参数:
listener - 要移除的 PropertyChangeListener
另请参见:
addPropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(), removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
返回在此组件上所有已注册的属性更改侦听器的数组。

返回:
组件的所有 PropertyChangeListener,如果当前没有注册的属性更改侦听器,则返回一个空数组
从以下版本开始:
1.4
另请参见:
addPropertyChangeListener(java.beans.PropertyChangeListener), removePropertyChangeListener(java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String), PropertyChangeSupport.getPropertyChangeListeners()

addPropertyChangeListener

public void addPropertyChangeListener(String propertyName,
                                      PropertyChangeListener listener)
向指定属性的侦听器列表添加一个 PropertyChangeListener。指定的属性可能是用户定义的,或者是下列之一: 注意,如果此 Component 继承了一个 bound 属性,则不会激发事件来响应继承属性的改变。

如果 propertyNamelistenernull,则不会抛出异常并且不执行操作。

参数:
propertyName - 上面所列的属性名之一
listener - 要添加的 PropertyChangeListener
另请参见:
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String), addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

removePropertyChangeListener

public void removePropertyChangeListener(String propertyName,
                                         PropertyChangeListener listener)
从指定属性的侦听器列表中移除一个 PropertyChangeListener。应该使用此方法移除为指定 bound 属性所注册的 PropertyChangeListener

如果 propertyNamelistenernull,则不会抛出异常并且不执行操作。

参数:
propertyName - 有效的属性名
listener - 要移除的 PropertyChangeListener
另请参见:
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String), removePropertyChangeListener(java.beans.PropertyChangeListener)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
返回与指定属性相关联的所有侦听器的数组。

返回:
与指定属性相关联的所有 PropertyChangeListener;如果尚未添加这样的侦听器,如果 propertyNamenull,则返回空数组
从以下版本开始:
1.4
另请参见:
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), getPropertyChangeListeners()

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  Object oldValue,
                                  Object newValue)
支持报告 Object 属性的 bound 属性改变。当改变了 bound 属性并且向所有已注册的 PropertyChangeListeners 发送相应的 PropertyChangeEvent 时可以调用此方法。

参数:
propertyName - 其值已改变的属性
oldValue - 该属性以前的值
newValue - 该属性的新值

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  boolean oldValue,
                                  boolean newValue)
支持报告布尔属性的 bound 属性改变。当改变了 bound 属性并且向所有已注册的 PropertyChangeListeners 发送相应的 PropertyChangeEvent 时可以调用此方法。

参数:
propertyName - 其值已改变的属性
oldValue - 该属性以前的值
newValue - 该属性的新值

firePropertyChange

protected void firePropertyChange(String propertyName,
                                  int oldValue,
                                  int newValue)
支持报告整数属性的 bound 属性改变。当改变了 bound 属性并且向所有已注册的 PropertyChangeListeners 发送相应的 PropertyChangeEvent 时可以调用此方法。

参数:
propertyName - 其值已改变的属性
oldValue - 该属性以前的值
newValue - 该属性的新值

firePropertyChange

public void firePropertyChange(String propertyName,
                               byte oldValue,
                               byte newValue)
报告 bound 属性的改变。

参数:
propertyName - 已改变的属性的编程名称
oldValue - 该属性的旧值(byte 类型)
newValue - 该属性的新值(byte 类型)
从以下版本开始:
1.5
另请参见:
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

firePropertyChange

public void firePropertyChange(String propertyName,
                               char oldValue,
                               char newValue)
报告 bound 属性的改变。

参数:
propertyName - 已改变的属性的编程名称
oldValue - 该属性的旧值(char 类型)
newValue - 该属性的新值(char 类型)
从以下版本开始:
1.5
另请参见:
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

firePropertyChange

public void firePropertyChange(String propertyName,
                               short oldValue,
                               short newValue)
报告 bound 属性的改变。

参数:
propertyName - 已改变的属性的编程名称
oldValue - 该属性的旧值(short 类型)
newValue - 该属性的新值(short 类型)
从以下版本开始:
1.5
另请参见:
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

firePropertyChange

public void firePropertyChange(String propertyName,
                               long oldValue,
                               long newValue)
报告 bound 属性的改变。

参数:
propertyName - 已改变的属性的编程名称
oldValue - 该属性的旧值(long 类型)
newValue - 该属性的新值(long 类型)
从以下版本开始:
1.5
另请参见:
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

firePropertyChange

public void firePropertyChange(String propertyName,
                               float oldValue,
                               float newValue)
报告 bound 属性的改变。

参数:
propertyName - 已改变的属性的编程名称
oldValue - 该属性的旧值(float 类型)
newValue - 该属性的新值(float 类型)
从以下版本开始:
1.5
另请参见:
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

firePropertyChange

public void firePropertyChange(String propertyName,
                               double oldValue,
                               double newValue)
报告 bound 属性的改变。

参数:
propertyName - 已改变的属性的编程名称
oldValue - 该属性的旧值(double 类型)
newValue - 该属性的新值(double 类型)
从以下版本开始:
1.5
另请参见:
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)

setComponentOrientation

public void setComponentOrientation(ComponentOrientation o)
设置语言敏感的方向,用于排序此组件内的元素或文本。语言敏感的 LayoutManagerComponent 子类使用此属性来确定如何布局并绘制组件。

在构造时,组件的方向设置为 ComponentOrientation.UNKNOWN,表示尚未显式地指定它。UNKNOWN 方向的行为与 ComponentOrientation.LEFT_TO_RIGHT 相同。

要设置单个组件的方向,请使用此方法。要设置整个组件层次结构的方向,请使用 applyComponentOrientation

另请参见:
ComponentOrientation

getComponentOrientation

public ComponentOrientation getComponentOrientation()
检索用于排序此组件内的元素或文本的语言敏感的方向。需要考虑方向的 LayoutManagerComponent 子类在执行布局或绘制前应该调用此方法来获得组件的方向。

另请参见:
ComponentOrientation

applyComponentOrientation

public void applyComponentOrientation(ComponentOrientation orientation)
设置此组件及其包含的所有组件的 ComponentOrientation 属性。

参数:
orientation - 此组件及其包含的所有组件的新组件方向。
抛出:
NullPointerException - 如果 orientation 为 null。
从以下版本开始:
1.4
另请参见:
setComponentOrientation(java.awt.ComponentOrientation), getComponentOrientation()

getAccessibleContext

public AccessibleContext getAccessibleContext()
获得与此 Component 相关的 AccessibleContext。此基类所实现的方法返回 null。扩展 Component 的类应该实现此方法,以便返回与该子类相关的 AccessibleContext

返回:
ComponentAccessibleContext

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策