|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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) 取代。 |
|
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)
将列表打印到指定的打印编写器。 |
|
void |
list(PrintWriter out,
int indent)
将列表从指定的缩排开始打印到指定的打印编写器。 |
|
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 的顶层祖先已经是获得焦点的 Window,则请求此 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 |
字段详细信息 |
---|
public static final float TOP_ALIGNMENT
getAlignmentY()
的易于使用的常量。指定组件顶部对齐方式。
getAlignmentY()
,
常量字段值public static final float CENTER_ALIGNMENT
getAlignmentY
和 getAlignmentX
的易于使用的常量。指定组件居中对齐方式。
getAlignmentX()
,
getAlignmentY()
,
常量字段值public static final float BOTTOM_ALIGNMENT
getAlignmentY
的易于使用的常量。指定组件底部对齐方式。
getAlignmentY()
,
常量字段值public static final float LEFT_ALIGNMENT
getAlignmentX
的易于使用的常量。指定组件左对齐方式。
getAlignmentX()
,
常量字段值public static final float RIGHT_ALIGNMENT
getAlignmentX
的易于使用的常量。指定组件右对齐方式。
getAlignmentX()
,
常量字段值构造方法详细信息 |
---|
protected Component()
Component
类,以便创建不利用本机不透明窗口的轻量级组件。轻量级组件必须由组件树中较高处的本机容器所承载(例如由 Frame
对象承载)。
方法详细信息 |
---|
public String getName()
setName(java.lang.String)
public void setName(String name)
name
- 要成为组件名称的字符串。getName()
public Container getParent()
@Deprecated public java.awt.peer.ComponentPeer getPeer()
boolean isDisplayable()
取代。
public void setDropTarget(DropTarget dt)
DropTarget
相关联。仅在已启用 Component
时才接收放置。
dt
- DropTargetisEnabled()
public DropTarget getDropTarget()
Component
相关的 DropTarget
。
public GraphicsConfiguration getGraphicsConfiguration()
Component
相关的 GraphicsConfiguration
。如果尚未给 Component
分配指定的 GraphicsConfiguration
,则返回该 Component
对象顶层容器的 GraphicsConfiguration
。如果已经创建了 Component
但尚未添加到 Container
中,则此方法返回 null
。
Component
使用的 GraphicsConfiguration
,或者返回 null
public final Object getTreeLock()
public Toolkit getToolkit()
public boolean isValid()
true
;否则返回 false
validate()
,
invalidate()
public boolean isDisplayable()
将组件添加到一个可显示的包含层次结构时,或者其包含层次结构变成可显示时,该组件才成为可显示的组件。当包含层次结构的祖先窗口被打包或变为可见时,它才成为可显示的。
从可显示的包含层次结构中移除某个组件,或者该组件的包含层次结构变成不可显示时,该组件就成为不可显示的组件。当包含层次结构的祖先窗口被移除时,它才变成不可显示的。
true
;否则返回 false
Container.add(Component)
,
Window.pack()
,
Window.show()
,
Container.remove(Component)
,
Window.dispose()
public boolean isVisible()
Frame
对象等顶层组件除外。
true
;否则返回 false
setVisible(boolean)
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() 返回 trueisShowing()
,
Container.getMousePosition(boolean)
public boolean isShowing()
注:有时无法检测用户是否可以实际看见 Component
。这可能发生在以下情况时:
ScrollPane
中,但 Component
目前不在滚动窗格的视区中。
Component
被另一个 Component
或 Container
遮掩。
true
;否则返回 false
setVisible(boolean)
public boolean isEnabled()
setEnabled
方法可以启用或禁用组件。
true
;否则返回 false
setEnabled(boolean)
public void setEnabled(boolean b)
b
的值启用或禁用此组件。已启用的组件可以响应用户输入并生成事件。默认情况下,组件最初是启用的。
注:禁用轻量级组件不会阻止其接收 MouseEvents。
注:禁用重量级容器可以阻止此容器中的所有组件接收任何输入事件。但是禁用重量级容器只影响此容器。
b
- 如果为 true
,则启用此组件;否则禁用此组件isEnabled()
,
isLightweight()
@Deprecated public void enable()
setEnabled(boolean)
取代。
@Deprecated public void enable(boolean b)
setEnabled(boolean)
取代。
@Deprecated public void disable()
setEnabled(boolean)
取代。
public boolean isDoubleBuffered()
public void enableInputMethods(boolean enable)
enable
- true 表示启用,false 表示禁用processKeyEvent(java.awt.event.KeyEvent)
public void setVisible(boolean b)
b
的值显示或隐藏此组件。
b
- 如果为 true
,则显示此组件;否则隐藏此组件isVisible()
@Deprecated public void show()
setVisible(boolean)
取代。
@Deprecated public void show(boolean b)
setVisible(boolean)
取代。
@Deprecated public void hide()
setVisible(boolean)
取代。
public Color getForeground()
setForeground(java.awt.Color)
public void setForeground(Color c)
c
- 要成为此组件前景色的颜色;如果此参数为 null
,则此组件继承其父级的前景色getForeground()
public boolean isForegroundSet()
false
,则此组件继承了其祖先的前景色。
true
;否则返回 false
。public Color getBackground()
setBackground(java.awt.Color)
public void setBackground(Color c)
背景色对每个组件的影响各不相同,并且部分受背景色影响的组件在不同的操作系统之间可能有所不同。
c
- 要成为此组件背景色的颜色;如果此参数为 null
,则此组件继承其父级的背景色getBackground()
public boolean isBackgroundSet()
false
,则此组件继承了其祖先的背景色。
true
;否则返回 false
。public Font getFont()
MenuContainer
中的 getFont
setFont(java.awt.Font)
public void setFont(Font f)
f
- 要成为此组件字体的字体;如果此参数为 null
,则此组件继承其父级的字体getFont()
public boolean isFontSet()
false
,则此组件继承了其祖先的字体。
true
;否则返回 false
。public Locale getLocale()
IllegalComponentStateException
- 如果 Component
没有其自己的语言环境,并且尚未添加到包含层次结构中(如果添加到包含层次结构中就可以从其包含父级确定语言环境)setLocale(java.util.Locale)
public void setLocale(Locale l)
l
- 要成为此组件语言环境的语言环境getLocale()
public ColorModel getColorModel()
ColorModel
实例。
ColorModel
,
ComponentPeer.getColorModel()
,
Toolkit.getColorModel()
public Point getLocation()
由于本机事件处理的异步特性,所以此方法可能返回过时的值(例如,在快速连续调用 setLocation()
后)。为此,推荐获得组件位置的方法是在 java.awt.event.ComponentListener.componentMoved()
内,在操作系统结束组件移动后调用它。
Point
实例,表示在组件父级坐标空间中组件边界的左上角setLocation(int, int)
,
getLocationOnScreen()
public Point getLocationOnScreen()
Point
实例,表示在屏幕坐标空间中组件边界的左上角
IllegalComponentStateException
- 如果屏幕上未显示该组件setLocation(int, int)
,
getLocation()
@Deprecated public Point location()
getLocation()
取代。
public void setLocation(int x, int y)
x
和 y
参数来指定新位置的左上角。
x
- 父级坐标空间中新位置左上角的 x 坐标y
- 父级坐标空间中新位置左上角的 y 坐标getLocation()
,
setBounds(int, int, int, int)
@Deprecated public void move(int x, int y)
setLocation(int, int)
取代。
public void setLocation(Point p)
p
来指定新位置的左上角。在父级坐标空间中给出点 p
。
p
- 定义新位置左上角的点,在此组件的父级坐标空间中给出getLocation()
,
setBounds(int, int, int, int)
public Dimension getSize()
Dimension
对象的形式返回组件的大小。Dimension
对象的 height
字段包含此组件的高度,而 Dimension
对象的 width
字段则包含此组件的宽度。
Dimension
对象setSize(int, int)
@Deprecated public Dimension size()
getSize()
取代。
public void setSize(int width, int height)
width
,高度为 height
。
width
- 组件的新宽度,单位是像素height
- 组件的新高度,单位是像素getSize()
,
setBounds(int, int, int, int)
@Deprecated public void resize(int width, int height)
setSize(int, int)
取代。
public void setSize(Dimension d)
d.width
,高度为 d.height
。
d
- 指定组件新大小的尺寸setSize(int, int)
,
setBounds(int, int, int, int)
@Deprecated public void resize(Dimension d)
setSize(Dimension)
取代。
public Rectangle getBounds()
Rectangle
对象的形式获取组件的边界。边界指定此组件的宽度、高度和相对于其父级的位置。
setBounds(int, int, int, int)
,
getLocation()
,
getSize()
@Deprecated public Rectangle bounds()
getBounds()
取代。
public void setBounds(int x, int y, int width, int height)
x
和 y
指定左上角的新位置,由 width
和 height
指定新的大小。
x
- 组件的新 x 坐标y
- 组件的新 y 坐标width
- 组件的新 width
height
- 组件的新 height
getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
@Deprecated public void reshape(int x, int y, int width, int height)
setBounds(int, int, int, int)
取代。
public void setBounds(Rectangle r)
r
。由 r.x
和 r.y
指定组件的新位置,由 r.width
和 r.height
指定组件的新大小
r
- 此组件的新的有界矩形getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
public int getX()
component.getBounds().x
或 component.getLocation().x
方法,因为它不会导致任何的堆分配。
public int getY()
component.getBounds().y
或 component.getLocation().y
方法,因为它不会导致任何的堆分配。
public int getWidth()
component.getBounds().width
或 component.getLocation().width
方法,因为它不会导致任何的堆分配。
public int getHeight()
component.getBounds().height
或 component.getSize().height
方法,因为它不会导致任何的堆分配。
public Rectangle getBounds(Rectangle rv)
null
,则分配一个新的 Rectangle
。如果调用者想要避免在堆上分配一个新的 Rectangle
对象,则此版本的 getBounds
是很有用的。
rv
- 返回值,被修改为组件的边界
public Dimension getSize(Dimension rv)
null
,则分配一个新的 Dimension
对象。如果调用者想要避免在堆上分配一个新的 Dimension
对象,则此版本的 getSize
是很有用的。
rv
- 返回值,被修改为组件的大小
public Point getLocation(Point rv)
null
,则分配一个新的 Point
。如果调用者想要避免在堆上分配一个新的 Point
对象,则此版本的 getLocation
是很有用的。
rv
- 返回值,被修改为组件的位置
public boolean isOpaque()
不透明组件将每个像素绘制在其矩形区域内。透明的组件则仅绘制其某些像素,允许其下面的像素“透视出来”。因此,没有完全绘制其像素的组件则提供了一定程度的透明度。只有轻量级组件可以是透明的。
保证总是完全绘制其内容的子类应该重写此方法并返回 true。所有“重量级”AWT 组件都是不透明的。
isLightweight()
public boolean isLightweight()
Button
或 Scrollbar
那些组件以外,Component
和 Container
的子类都是轻量级组件。所有 Swing 组件是轻量级组件。
如果组件是不可显示的,那么由于无法确定不可显示的组件是轻量级还是重量级的,所以此方法总是返回 false
。
isDisplayable()
public void setPreferredSize(Dimension preferredSize)
getPreferredSize
的后续调用总是返回此值。将首选大小设置为 null
可还原默认的行为。
preferredSize
- 新的首选大小,或者为 nullgetPreferredSize()
,
isPreferredSizeSet()
public boolean isPreferredSizeSet()
null
值,则返回 true,否则返回 false。
setPreferredSize
,则返回 true。public Dimension getPreferredSize()
getMinimumSize()
,
LayoutManager
@Deprecated public Dimension preferredSize()
getPreferredSize()
取代。
public void setMinimumSize(Dimension minimumSize)
getMinimumSize
的后续调用总是返回此值。将最小大小设置为 null
可还原默认的行为。
minimumSize
- 组件新的最小大小getMinimumSize()
,
isMinimumSizeSet()
public boolean isMinimumSizeSet()
setMinimumSize
。
setMinimumSize
,则返回 true。public Dimension getMinimumSize()
getPreferredSize()
,
LayoutManager
@Deprecated public Dimension minimumSize()
getMinimumSize()
取代。
public void setMaximumSize(Dimension maximumSize)
getMaximumSize
的后续调用总是返回此值。将最大大小设置为 null
可还原默认的行为。
maximumSize
- 一个包含所需最大允许大小的 Dimension
getMaximumSize()
,
isMaximumSizeSet()
public boolean isMaximumSizeSet()
null
值,则返回 true,否则返回 false。
maximumSize
是非 null
值,则返回 true,否则返回 falsepublic Dimension getMaximumSize()
getMinimumSize()
,
getPreferredSize()
,
LayoutManager
public float getAlignmentX()
public float getAlignmentY()
public int getBaseline(int width, int height)
LayoutManager
,以便沿组件的基线对齐组件。返回值小于 0 表示此组件没有合理的基线,LayoutManager
不应该根据该组件的基线来对齐此组件。
默认实现返回 -1。支持基线的子类应该适当重写。如果返回值 >= 0,则该组件有一个对于 >= 最小大小的任何大小有效的基线,并且可以使用 getBaselineResizeBehavior
确定基线如何随大小发生更改。
width
- 适合基线的宽度height
- 适合基线的高度
IllegalArgumentException
- 如果 width 或 height < 0getBaselineResizeBehavior()
,
FontMetrics
public Component.BaselineResizeBehavior getBaselineResizeBehavior()
默认实现返回 BaselineResizeBehavior.OTHER
。拥有基线的子类应该适当重写。子类永远不应该返回 null
;如果无法计算基线,则返回 BaselineResizeBehavior.OTHER
。调用者应该首先查询使用 getBaseline
的基线,如果返回值 >= 0,则使用此方法。如果此方法返回一个不同于 BaselineResizeBehavior.OTHER
的值,即使 getBaseline
返回一个小于 0 的值,也是可接受的。
getBaseline(int, int)
public void doLayout()
validate()
,
LayoutManager
@Deprecated public void layout()
doLayout()
取代。
public void validate()
Container
实例上进行操作。
invalidate()
,
doLayout()
,
LayoutManager
,
Container.validate()
public void invalidate()
validate()
,
doLayout()
,
LayoutManager
public Graphics getGraphics()
null
。
null
paint(java.awt.Graphics)
public FontMetrics getFontMetrics(Font font)
FontRenderContext
影响,并且此方法不返回任何字体规格,所以可以只返回适用于默认呈现上下文的规格,该规格可能与呈现在 Component 上时使用的规格不匹配(如果使用 Graphics2D
功能)。相反,可以在呈现时通过调用 Graphics.getFontMetrics()
或 Font
类上的文本测量 API 获得规格。
font
- 要获得其字体规格的字体
font
的字体规格getFont()
,
getPeer()
,
ComponentPeer.getFontMetrics(Font)
,
Toolkit.getFontMetrics(Font)
public void setCursor(Cursor cursor)
contains
方法为当前的光标位置返回 ture,并且此组件是可见的、可显示的并且已启用的,则显示此光标图像。设置 Container
的光标会导致在该容器的所有子组件内显示该光标,那些具有非 null
的光标除外。
如果 Java 平台实现和/或本机系统不支持更改鼠标光标形状,则该方法可能不会产生任何视觉效果。
cursor
- Cursor
类定义的常量之一;如果此参数为 null
,则此组件继承其父级的光标isEnabled()
,
isShowing()
,
getCursor()
,
contains(int, int)
,
Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String)
,
Cursor
public Cursor getCursor()
Cursor.DEFAULT_CURSOR
。
setCursor(java.awt.Cursor)
public boolean isCursorSet()
false
,则此组件继承了其祖先的光标。
true
;否则返回 false
。public void paint(Graphics g)
应该绘制组件的内容时调用此方法;例如首次显示组件或者组件已损坏并需要修复时。Graphics
参数中的剪贴区矩形设置为需要绘制的区域。重写此方法的 Component
子类不需要调用 super.paint(g)
。
出于性能的考虑,首次显示宽度或高度为 0 的 Component
时认为它不需要进行绘制,并且也不需要修复。
注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing。
g
- 用于绘制的图像上下文update(java.awt.Graphics)
public void update(Graphics g)
如果此组件不是轻量级组件,则为了响应对 repaint
的调用,AWT 调用 update
方法。可以假定未清除背景。
Component
的 update
方法调用此组件的 paint
方法来重绘此组件。为响应对 repaint
的调用而需要其他工作的子类通常重写此方法。重写此方法的 Component 子类应该调用 super.update(g)
,或者直接从其 update
方法中调用 paint(g)
。
图形上下文的原点,即它的(0
,0
)坐标点是此组件的左上角。图形上下文的剪贴区域是此组件的边界矩形。
注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing。
g
- 用于更新的指定上下文paint(java.awt.Graphics)
,
repaint()
public void paintAll(Graphics g)
图形上下文的原点,即它的(0
,0
)坐标点是此组件的左上角。图形上下文的剪贴区域是此组件的边界矩形。
g
- 用于绘制的图形上下文paint(java.awt.Graphics)
public void repaint()
如果此组件是轻量级组件,则此方法会尽快调用此组件的 paint
方法。否则此方法会尽快调用此组件的 update
方法。
注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing。
update(Graphics)
public void repaint(long tm)
tm
毫秒内调用 paint
。
注:有关 AWT 和 Swing 所用绘制机制的更多信息,包括如何编写最高效的绘制代码的信息,请参阅 Painting in AWT and Swing。
tm
- 更新前等待的最长时间(以毫秒为单位)paint(java.awt.Graphics)
,
update(Graphics)
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
- 高度update(Graphics)
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
- 高度update(Graphics)
public void print(Graphics g)
此方法的默认实现调用 paint
方法。
图形上下文的原点,即它的(0
,0
)坐标点是此组件的左上角。图形上下文的剪贴区域是此组件的边界矩形。
g
- 用于绘制的图形上下文paint(Graphics)
public void printAll(Graphics g)
图形上下文的原点,即它的(0
,0
)坐标点是此组件的左上角。图形上下文的剪贴区域是此组件的边界矩形。
g
- 用于打印的图形上下文print(Graphics)
public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h)
ImageObserver
的 imageUpdate
方法,该图像是以前使用诸如 Graphics
的 drawImage
方法等此类异步例程请求的。有关此方法及其参数的更多信息,请参阅 imageUpdate
的定义。
随着有更多的可用图像位,Component
的 imageUpdate
方法在组件上逐渐绘制图像。
如果系统属性 awt.image.incrementaldraw
丢失或其值为 true
,则逐渐绘制图像。如果该系统属性为其他值,则在完全加载图像后才绘制它。
另外,如果是逐渐绘制图像,则将系统属性 awt.image.redrawrate
的值解释为一个整数,得到一个最快的重绘速率,单位是毫秒。如果该系统属性丢失或无法解释为一个整数,则重绘速率是每 100ms 一次。
x
、y
、width
和 height
参数的解释取决于 infoflags
参数值。
ImageObserver
中的 imageUpdate
img
- 正观察的图像infoflags
- 有关更多信息,请参阅 imageUpdate
x
- x 坐标y
- y 坐标w
- 宽度h
- 高度
false
;否则返回 true
。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)
public Image createImage(ImageProducer producer)
producer
- 图像生成器
public Image createImage(int width, int height)
width
- 指定的宽度height
- 指定的高度
null
。如果 GraphicsEnvironment.isHeadless()
返回 true
,则始终发生这种情况。isDisplayable()
,
GraphicsEnvironment.isHeadless()
public VolatileImage createVolatileImage(int width, int height)
width
- 指定的宽度。height
- 指定的高度。
null
。如果 GraphicsEnvironment.isHeadless()
返回 true
,则始终发生这种情况。VolatileImage
,
isDisplayable()
,
GraphicsEnvironment.isHeadless()
public VolatileImage createVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException
VolatileImage
接口管理该图像。
width
- 指定的宽度。height
- 指定的高度。caps
- 图像的能力
AWTException
- 如果无法创建具有指定能力的图像VolatileImage
public boolean prepareImage(Image image, ImageObserver observer)
image
- 准备进行屏幕表示的 Image
observer
- 图像准备就绪时所要通知的 ImageObserver
对象
true
;否则返回 false
public boolean prepareImage(Image image, int width, int height, ImageObserver observer)
图像数据由另一个线程异步下载并生成适当缩放的图像屏幕表示。
image
- 准备进行屏幕表示的 Image
实例width
- 所需屏幕表示的宽度height
- 所需屏幕表示的高度observer
- 图像准备就绪时所要通知的 ImageObserver
对象
true
;否则返回 false
ImageObserver
public int checkImage(Image image, ImageObserver observer)
此方法不会使图像开始加载。应用程序必须使用 prepareImage
方法强制加载图像。
可在 ImageObserver
接口的讨论中找到有关此方法返回的标志的信息。
image
- 正检查其状态的 Image
对象observer
- 图像准备就绪时所要通知的 ImageObserver
对象
ImageObserver
的标志按位进行 OR 运算后的结果,指示图像的哪些信息是当前可用的prepareImage(Image, int, int, java.awt.image.ImageObserver)
,
Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)
,
ImageObserver
public int checkImage(Image image, int width, int height, ImageObserver observer)
此方法不会使图像开始加载。应用程序必须使用 prepareImage
方法强制加载图像。
Component
的 checkImage
方法调用其同位体的 checkImage
方法来计算标志。如果此组件还没有同位体,则调用组件工具包的 checkImage
方法。
可在 ImageObserver
接口的讨论中找到有关此方法返回的标志的信息。
image
- 正检查其状态的 Image
width
- 要检查其状态的缩放图像的宽度height
- 要检查其状态的缩放图像的高度observer
- 图像准备就绪时所要通知的 ImageObserver
对象
ImageObserver
的标志按位进行 OR 运算后的结果,指示图像的哪些信息是当前可用的prepareImage(Image, int, int, java.awt.image.ImageObserver)
,
Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)
,
ImageObserver
public void setIgnoreRepaint(boolean ignoreRepaint)
这是很有用的,例如正在全屏模式中运行并且需要更佳的性能,或者使用页面翻转作为缓冲策略时。
getIgnoreRepaint()
,
Canvas.createBufferStrategy(int)
,
Window.createBufferStrategy(int)
,
BufferStrategy
,
GraphicsDevice.setFullScreenWindow(java.awt.Window)
public boolean getIgnoreRepaint()
setIgnoreRepaint(boolean)
public boolean contains(int x, int y)
x
和 y
是相对于此组件的坐标系定义的。
x
- 该点的 x 坐标y
- 该点的 y 坐标getComponentAt(int, int)
@Deprecated public boolean inside(int x, int y)
public boolean contains(Point p)
p
- 点getComponentAt(Point)
public Component getComponentAt(int x, int y)
如果(x,y)坐标位置处于组件边界框的内部,则 Component
的 locate
方法只是简单地返回组件本身;否则返回 null
。
x
- x 坐标y
- y 坐标
null
contains(int, int)
@Deprecated public Component locate(int x, int y)
public Component getComponentAt(Point p)
p
- 点contains(int, int)
@Deprecated public void deliverEvent(Event e)
dispatchEvent(AWTEvent e)
取代。
public final void dispatchEvent(AWTEvent e)
Component
启用的 1.1 类型的事件,在返回前要调用 processEvent
。
e
- 事件@Deprecated public boolean postEvent(Event e)
MenuContainer
中的 postEvent
public void addComponentListener(ComponentListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 组件侦听器ComponentEvent
,
ComponentListener
,
removeComponentListener(java.awt.event.ComponentListener)
,
getComponentListeners()
public void removeComponentListener(ComponentListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 组件侦听器ComponentEvent
,
ComponentListener
,
addComponentListener(java.awt.event.ComponentListener)
,
getComponentListeners()
public ComponentListener[] getComponentListeners()
ComponentListener
,如果当前没有注册的组件侦听器,则返回一个空数组addComponentListener(java.awt.event.ComponentListener)
,
removeComponentListener(java.awt.event.ComponentListener)
public void addFocusListener(FocusListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 焦点侦听器FocusEvent
,
FocusListener
,
removeFocusListener(java.awt.event.FocusListener)
,
getFocusListeners()
public void removeFocusListener(FocusListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 焦点侦听器FocusEvent
,
FocusListener
,
addFocusListener(java.awt.event.FocusListener)
,
getFocusListeners()
public FocusListener[] getFocusListeners()
FocusListener
,如果当前没有注册的焦点侦听器,则返回一个空数组addFocusListener(java.awt.event.FocusListener)
,
removeFocusListener(java.awt.event.FocusListener)
public void addHierarchyListener(HierarchyListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 层次结构侦听器HierarchyEvent
,
HierarchyListener
,
removeHierarchyListener(java.awt.event.HierarchyListener)
,
getHierarchyListeners()
public void removeHierarchyListener(HierarchyListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 层次结构侦听器HierarchyEvent
,
HierarchyListener
,
addHierarchyListener(java.awt.event.HierarchyListener)
,
getHierarchyListeners()
public HierarchyListener[] getHierarchyListeners()
HierarchyListener
,如果当前没有注册的层次结构侦听器,则返回一个空数组addHierarchyListener(java.awt.event.HierarchyListener)
,
removeHierarchyListener(java.awt.event.HierarchyListener)
public void addHierarchyBoundsListener(HierarchyBoundsListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 层次结构边界侦听器HierarchyEvent
,
HierarchyBoundsListener
,
removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,
getHierarchyBoundsListeners()
public void removeHierarchyBoundsListener(HierarchyBoundsListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 层次结构边界侦听器HierarchyEvent
,
HierarchyBoundsListener
,
addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,
getHierarchyBoundsListeners()
public HierarchyBoundsListener[] getHierarchyBoundsListeners()
HierarchyBoundsListener
,如果当前没有注册的层次结构边界侦听器,则返回一个空数组addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,
removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
public void addKeyListener(KeyListener l)
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 按键侦听器。KeyEvent
,
KeyListener
,
removeKeyListener(java.awt.event.KeyListener)
,
getKeyListeners()
public void removeKeyListener(KeyListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 按键侦听器KeyEvent
,
KeyListener
,
addKeyListener(java.awt.event.KeyListener)
,
getKeyListeners()
public KeyListener[] getKeyListeners()
KeyListener
,如果当前没有注册的按键侦听器,则返回一个空数组addKeyListener(java.awt.event.KeyListener)
,
removeKeyListener(java.awt.event.KeyListener)
public void addMouseListener(MouseListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 鼠标侦听器MouseEvent
,
MouseListener
,
removeMouseListener(java.awt.event.MouseListener)
,
getMouseListeners()
public void removeMouseListener(MouseListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 鼠标侦听器MouseEvent
,
MouseListener
,
addMouseListener(java.awt.event.MouseListener)
,
getMouseListeners()
public MouseListener[] getMouseListeners()
MouseListener
,如果当前没有注册的鼠标侦听器,则返回一个空数组addMouseListener(java.awt.event.MouseListener)
,
removeMouseListener(java.awt.event.MouseListener)
public void addMouseMotionListener(MouseMotionListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 鼠标移动侦听器MouseEvent
,
MouseMotionListener
,
removeMouseMotionListener(java.awt.event.MouseMotionListener)
,
getMouseMotionListeners()
public void removeMouseMotionListener(MouseMotionListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 鼠标移动侦听器MouseEvent
,
MouseMotionListener
,
addMouseMotionListener(java.awt.event.MouseMotionListener)
,
getMouseMotionListeners()
public MouseMotionListener[] getMouseMotionListeners()
MouseMotionListener
,如果当前没有注册的鼠标移动侦听器,则返回一个空数组addMouseMotionListener(java.awt.event.MouseMotionListener)
,
removeMouseMotionListener(java.awt.event.MouseMotionListener)
public void addMouseWheelListener(MouseWheelListener l)
有关如何指派鼠标滚轮事件的信息,请参阅 MouseWheelEvent
的类描述。
如果 l 为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 鼠标滚轮侦听器MouseWheelEvent
,
MouseWheelListener
,
removeMouseWheelListener(java.awt.event.MouseWheelListener)
,
getMouseWheelListeners()
public void removeMouseWheelListener(MouseWheelListener l)
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 鼠标滚轮侦听器。MouseWheelEvent
,
MouseWheelListener
,
addMouseWheelListener(java.awt.event.MouseWheelListener)
,
getMouseWheelListeners()
public MouseWheelListener[] getMouseWheelListeners()
MouseWheelListener
,如果当前没有注册的鼠标滚轮侦听器,则返回一个空数组addMouseWheelListener(java.awt.event.MouseWheelListener)
,
removeMouseWheelListener(java.awt.event.MouseWheelListener)
public void addInputMethodListener(InputMethodListener l)
getInputMethodRequests
并返回一个 InputMethodRequests
实例,则该组件只接收发自输入方法的输入方法事件。如果侦听器 l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 输入方法侦听器InputMethodEvent
,
InputMethodListener
,
removeInputMethodListener(java.awt.event.InputMethodListener)
,
getInputMethodListeners()
,
getInputMethodRequests()
public void removeInputMethodListener(InputMethodListener l)
l
为 null
,则不会抛出异常并且不执行动作。
有关 AWT 的线程模型的细节信息,请参阅 AWT 线程问题。
l
- 输入方法侦听器InputMethodEvent
,
InputMethodListener
,
addInputMethodListener(java.awt.event.InputMethodListener)
,
getInputMethodListeners()
public InputMethodListener[] getInputMethodListeners()
InputMethodListener
,如果当前没有注册的输入方法侦听器,则返回一个空数组addInputMethodListener(java.awt.event.InputMethodListener)
,
removeInputMethodListener(java.awt.event.InputMethodListener)
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
Component
上作为 FooListener
注册的所有对象的数组。FooListener
是使用 addFooListener
方法注册的。
可以使用 class 字面值(如 FooListener.class
)来指定 listenerType
参数。例如,可以使用以下代码来查询 Component
c
的鼠标侦听器:
MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));如果不存在这样的侦听器,则此方法返回一个空数组。
listenerType
- 所请求的侦听器类型;此参数应该指定一个从 java.util.EventListener
继承的接口
FooListener
注册的所有对象的数组,如果尚未添加这样的侦听器,则返回一个空数组
ClassCastException
- 如果 listenerType
未指定一个实现 java.util.EventListener
的类或接口getComponentListeners()
,
getFocusListeners()
,
getHierarchyListeners()
,
getHierarchyBoundsListeners()
,
getKeyListeners()
,
getMouseListeners()
,
getMouseMotionListeners()
,
getMouseWheelListeners()
,
getInputMethodListeners()
,
#getPropertyChangeListener
public InputMethodRequests getInputMethodRequests()
InputMethodRequests
实例。同时,还必须处理输入方法事件。
null
addInputMethodListener(java.awt.event.InputMethodListener)
public InputContext getInputContext()
null
protected final void enableEvents(long eventsToEnable)
将某个事件类型的侦听器添加到该组件时,自动启用该事件类型。
此方法只能由 Component
的子类调用,该子类需要将指定的事件类型传递给 processEvent
,而不管是否已注册了侦听器。
eventsToEnable
- 定义事件类型的事件掩码processEvent(java.awt.AWTEvent)
,
disableEvents(long)
,
AWTEvent
protected final void disableEvents(long eventsToDisable)
eventsToDisable
- 定义事件类型的事件掩码enableEvents(long)
protected AWTEvent coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)
EventQueue.postEvent
调用此方法。此方法返回一个已组合的事件并用该事件取代现有事件(然后丢弃新事件),或者返回 null
,表示没有进行组合(将第二个事件添加到队列的末尾)。如果未返回 null
,则可以修改并返回任一事件参数,同时丢弃另一个参数。
此 coalesceEvents
实现可组合两种事件类型:鼠标移动(和拖动)事件,以及绘制(和更新)事件。对于鼠标移动事件,总是返回最后一个事件,导致丢弃中间的移动。对于绘制事件,将新事件组合到同位体中的复杂 RepaintArea
。总是返回新的 AWTEvent
。
existingEvent
- 已在 EventQueue
中的事件newEvent
- 正发送到 EventQueue
中的事件
null
表明没有进行组合protected void processEvent(AWTEvent e)
process<event type>Event
方法。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 事件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)
protected void processComponentEvent(ComponentEvent e)
ComponentListener
对象。
如果组件上没有启用组件事件,则不调用此方法。发生下列之一时启用组件事件:
addComponentListener
注册了一个 ComponentListener
对象。
enableEvents
启用了组件事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 组件事件ComponentEvent
,
ComponentListener
,
addComponentListener(java.awt.event.ComponentListener)
,
enableEvents(long)
protected void processFocusEvent(FocusEvent e)
FocusListener
对象。
如果组件上没有启用焦点事件,则不调用此方法。发生下列之一时启用焦点事件:
addFocusListener
注册了一个 FocusListener
对象。
enableEvents
启用了焦点事件。
如果为某个 Component
启用了焦点事件,则当前的 KeyboardFocusManager
确定是否应该将焦点事件指派到已注册的 FocusListener
对象。如果未指派事件,则 KeyboardFocusManager
调用 Component
的 dispatchEvent
方法,此方法又调用 Component
的 processFocusEvent
方法。
如果为 Component
启用了焦点事件,则用 FocusEvent
作为参数来调用 Component
的 dispatchEvent
方法将导致调用 Component
的 processFocusEvent
方法,而不管当前的 KeyboardFocusManager
如何。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 焦点事件FocusEvent
,
FocusListener
,
KeyboardFocusManager
,
addFocusListener(java.awt.event.FocusListener)
,
enableEvents(long)
,
dispatchEvent(java.awt.AWTEvent)
protected void processKeyEvent(KeyEvent e)
KeyListener
对象。
如果组件上没有启用按键事件,则不调用此方法。发生下列之一时启用按键事件:
addKeyListener
注册了一个 KeyListener
对象。
enableEvents
启用了按键事件。
如果为某个 Component
启用了按键事件,则当前的 KeyboardFocusManager
确定是否应该将按键事件指派到已注册的 KeyListener
对象。DefaultKeyboardFocusManager
不会为非焦点所有者或未显示的 Component
指派按键事件。
从 J2SE 1.4 开始,已将 KeyEvent
重定向到焦点所有者。有关更多信息,请参阅 Focus Specification。
只要组件正在显示、已定焦、已启用并且其上的按键事件已启用,那么使用 KeyEvent
作为参数来调用 Component
的 dispatchEvent
方法将导致调用 Component
的 processKeyEvent
方法,而不管当前的 KeyboardFocusManager
如何。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 按键事件KeyEvent
,
KeyListener
,
KeyboardFocusManager
,
DefaultKeyboardFocusManager
,
processEvent(java.awt.AWTEvent)
,
dispatchEvent(java.awt.AWTEvent)
,
addKeyListener(java.awt.event.KeyListener)
,
enableEvents(long)
,
isShowing()
protected void processMouseEvent(MouseEvent e)
MouseListener
对象。
如果组件上没有启用鼠标事件,则不调用此方法。发生下列之一时启用鼠标事件:
addMouseListener
注册了一个 MouseListener
对象。
enableEvents
启用了鼠标事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 鼠标事件MouseEvent
,
MouseListener
,
addMouseListener(java.awt.event.MouseListener)
,
enableEvents(long)
protected void processMouseMotionEvent(MouseEvent e)
MouseMotionListener
事件。
如果组件上没有启用鼠标移动事件,则不调用此方法。发生下列之一时启用鼠标移动事件:
addMouseMotionListener
注册了一个 MouseMotionListener
对象。
enableEvents
启用了鼠标移动事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 鼠标移动事件MouseEvent
,
MouseMotionListener
,
addMouseMotionListener(java.awt.event.MouseMotionListener)
,
enableEvents(long)
protected void processMouseWheelEvent(MouseWheelEvent e)
MouseWheelListener
对象。
如果组件上没有启用鼠标滚轮事件,则不调用此方法。发生下列之一时启用鼠标滚轮事件:
addMouseWheelListener
注册了一个 MouseWheelListener
对象。
enableEvents
启用了鼠标滚轮事件。
有关如何指派鼠标滚轮事件的信息,请参阅 MouseWheelEvent
的类描述。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 鼠标滚轮事件MouseWheelEvent
,
MouseWheelListener
,
addMouseWheelListener(java.awt.event.MouseWheelListener)
,
enableEvents(long)
protected void processInputMethodEvent(InputMethodEvent e)
InputMethodListener
对象。
如果组件上没有启用输入方法事件,则不调用此方法。发生下列之一时启用输入方法事件:
addInputMethodListener
注册了一个 InputMethodListener
对象。
enableEvents
启用了输入方法事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 输入方法事件InputMethodEvent
,
InputMethodListener
,
addInputMethodListener(java.awt.event.InputMethodListener)
,
enableEvents(long)
protected void processHierarchyEvent(HierarchyEvent e)
HierarchyListener
对象。
如果组件上没有启用层次结构事件,则不调用此方法。发生下列之一时启用层次结构事件:
addHierarchyListener
注册了一个 HierarchyListener
对象。
enableEvents
启用了层次结构事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 层次结构事件HierarchyEvent
,
HierarchyListener
,
addHierarchyListener(java.awt.event.HierarchyListener)
,
enableEvents(long)
protected void processHierarchyBoundsEvent(HierarchyEvent e)
HierarchyBoundsListener
对象。
如果组件上没有启用层次结构边界事件,则不调用此方法。发生下列之一时启用层次结构边界事件:
addHierarchyBoundsListener
注册了一个 HierarchyBoundsListener
对象。
enableEvents
启用了层次结构边界事件。
注意,如果事件参数为 null
,则未指定行为并且可能导致异常。
e
- 层次结构事件HierarchyEvent
,
HierarchyBoundsListener
,
addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,
enableEvents(long)
@Deprecated public boolean handleEvent(Event evt)
@Deprecated public boolean mouseDown(Event evt, int x, int y)
@Deprecated public boolean mouseDrag(Event evt, int x, int y)
@Deprecated public boolean mouseUp(Event evt, int x, int y)
@Deprecated public boolean mouseMove(Event evt, int x, int y)
@Deprecated public boolean mouseEnter(Event evt, int x, int y)
@Deprecated public boolean mouseExit(Event evt, int x, int y)
@Deprecated public boolean keyDown(Event evt, int key)
@Deprecated public boolean keyUp(Event evt, int key)
@Deprecated public boolean action(Event evt, Object what)
public void addNotify()
Component
连接到一个本机屏幕资源使其成为可显示的。此方法由工具包内部调用,不应直接由程序调用。
isDisplayable()
,
removeNotify()
public void removeNotify()
Component
的本机屏幕资源使其成为不可显示的。
此方法由工具包内部调用,不应直接由程序调用。重写此方法的代码应该在重写方法的首行调用 super.removeNotify
。
isDisplayable()
,
addNotify()
@Deprecated public boolean gotFocus(Event evt, Object what)
@Deprecated public boolean lostFocus(Event evt, Object what)
@Deprecated public boolean isFocusTraversable()
isFocusable()
取代。
Component
是否可以成为焦点所有者。
Component
是可以获得焦点的,则返回 true
;否则返回 false
setFocusable(boolean)
public boolean isFocusable()
true
;否则返回 false
。setFocusable(boolean)
public void setFocusable(boolean focusable)
focusable
- 表明此 Component 是否可以获得焦点isFocusable()
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
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 | 到上一个焦点遍历循环 | 无 |
客户机代码使用 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 的另一个焦点遍历操作getFocusTraversalKeys(int)
,
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys
)。
如果没有为此 Component 显式定义遍历键 Set,则返回此 Component 的父级 Set。如果没有为此 Component 的所有父级显式定义 Set,则返回当前 KeyboardFocusManager 的默认 Set。
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一。
IllegalArgumentException
- 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一setFocusTraversalKeys(int, java.util.Set extends java.awt.AWTKeyStroke>)
,
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
public boolean areFocusTraversalKeysSet(int id)
false
,则此 Component 继承了其祖先或当前 KeyboardFocusManager 的 Set。
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一
true
;否则返回 false
。
IllegalArgumentException
- 如果 id 不是 KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS、KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS 或 KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS 之一public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
focusTraversalKeysEnabled
- 是否为此 Component 启用焦点遍历键getFocusTraversalKeysEnabled()
,
setFocusTraversalKeys(int, java.util.Set extends java.awt.AWTKeyStroke>)
,
getFocusTraversalKeys(int)
public boolean getFocusTraversalKeysEnabled()
setFocusTraversalKeysEnabled(boolean)
,
setFocusTraversalKeys(int, java.util.Set extends java.awt.AWTKeyStroke>)
,
getFocusTraversalKeys(int)
public void requestFocus()
此方法不能用于为根本不是 Component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner()
。
因为此方法的焦点行为与平台有关,所以强烈建议开发人员在可能时使用 requestFocusInWindow
。
注:并不是所有的焦点传输都将导致防止调用此方法。同样地,组件可以在没有调用此方法或 Component
的其他任何方法的情况下接收焦点。
requestFocusInWindow()
,
FocusEvent
,
addFocusListener(java.awt.event.FocusListener)
,
isFocusable()
,
isDisplayable()
,
KeyboardFocusManager.clearGlobalFocusOwner()
protected boolean requestFocus(boolean temporary)
Component
获取输入焦点,并且此 Component
的顶层祖先成为获得焦点的 Window
。此 Component 对于所要许可的请求而言必须是不可显示的、可聚焦的和可见的并且其所有祖先(除了顶层 Window 以外)必须是可见的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。如果由于此 Component 的顶层窗口没有成为获得焦点的窗口而拒绝了此请求,则记住此请求,并在后来用户使窗口成为获得焦点的窗口时许可此请求。
此方法返回布尔值。如果返回 false
,则请求注定要失败。如果返回 true
,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true
表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner
。
因为此方法的焦点行为与平台有关,所以强烈建议开发人员在可能时使用 requestFocusInWindow
。
此方法会尽力完成该请求,确保作为此请求结果所产生的 FocusEvent
具有指定的临时值。但是,因为在所有本机窗口系统上指定一个任意的临时状态是不可能实现的,所以只有轻量级 Component
可以保证此方法的行为正确。此方法并非用于一般用途,而是作为轻量级组件库(如 Swing)的钩子 (hook) 而存在的。
注:并不是所有的焦点传输都将导致防止调用此方法。同样地,组件可以在没有调用此方法或 Component
的其他任何方法的情况下接收焦点。
temporary
- 如果焦点改变是临时的(如在窗口丢失焦点时),则为 true;有关临时焦点改变的更多信息,请参阅 Focus Specification
false
;如果可能成功,则返回 true
FocusEvent
,
addFocusListener(java.awt.event.FocusListener)
,
isFocusable()
,
isDisplayable()
,
KeyboardFocusManager.clearGlobalFocusOwner()
public boolean requestFocusInWindow()
此方法返回布尔值。如果返回 false
,则请求注定要失败。如果返回 true
,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true
表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 Component 的内容设置焦点所有者,应该使用 KeyboardFocusManager.clearGlobalFocusOwner()
。
可在各种平台之间一致地实现此方法的焦点行为,所以强烈建议开发人员在可能时使用此方法,而不是 requestFocus
。依赖 requestFocus
的代码可能在不同平台上表现出不同的焦点行为。
注:并不是所有的焦点传输都将导致防止调用此方法。同样地,组件可以在没有调用此方法或 Component
的其他任何方法的情况下接收焦点。
false
;如果可能成功,则返回 true
requestFocus()
,
FocusEvent
,
addFocusListener(java.awt.event.FocusListener)
,
isFocusable()
,
isDisplayable()
,
KeyboardFocusManager.clearGlobalFocusOwner()
protected boolean requestFocusInWindow(boolean temporary)
Component
的顶层祖先已经是获得焦点的 Window
,则请求此 Component
获取输入焦点。此 Component 对于所要许可的请求而言必须是不可显示的、可聚焦的和可见的并且其所有祖先(除了顶层 Window 以外)必须是可见的。此方法会尽力完成该请求;但是在某些情况下可能无法完成。在此 Component 接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法返回布尔值。如果返回 false
,则请求注定要失败。如果返回 true
,并且在本机窗口系统允许请求前不禁止该请求或不发生特别的事件(如处理该组件的同位体),则请求成功。此外,虽然返回 true
表示请求可能成功了,但是在此组件接收 FOCUS_GAINED 事件前,开发人员必须永远不能假定此 Component 是焦点所有者。
此方法不能用于为根本不是 Component 的内容设置焦点所有者。应该使用 KeyboardFocusManager.clearGlobalFocusOwner
。
可在各种平台之间一致地实现此方法的焦点行为,所以强烈建议开发人员在可能时使用此方法,而不是 requestFocus
。依赖 requestFocus
的代码可能在不同平台上表现出不同的焦点行为。
此方法会尽力完成该请求,确保作为此请求结果所产生的 FocusEvent
具有指定的临时值。但是,因为在所有本机窗口系统上指定一个任意的临时状态是不可能实现的,所以只有轻量级组件可以保证此方法的行为正确。此方法并非用于一般用途,而是作为轻量级组件库(如 Swing)的钩子 (hook) 而存在的。
注:并不是所有的焦点传输都将导致防止调用此方法。同样地,组件可以在没有调用此方法或 Component
的其他任何方法的情况下接收焦点。
temporary
- 如果焦点改变是临时的(如在窗口丢失焦点时),则为 true;有关临时焦点改变的更多信息,请参阅 Focus Specification
false
;如果可能成功,则返回 true
requestFocus()
,
FocusEvent
,
addFocusListener(java.awt.event.FocusListener)
,
isFocusable()
,
isDisplayable()
,
KeyboardFocusManager.clearGlobalFocusOwner()
public void transferFocus()
requestFocus()
public Container getFocusCycleRootAncestor()
Container.isFocusCycleRoot()
public boolean isFocusCycleRoot(Container container)
container
- 要测试的 Container
true
;否则返回 false
Container.isFocusCycleRoot()
@Deprecated public void nextFocus()
public void transferFocusBackward()
requestFocus()
public void transferFocusUpCycle()
requestFocus()
,
Container.isFocusCycleRoot()
,
Container.setFocusCycleRoot(boolean)
public boolean hasFocus()
Component
是焦点所有者,则返回 true
。此方法已过时,并且已经由 isFocusOwner()
取代。
Component
是焦点所有者,则返回 true
;否则返回 false
public boolean isFocusOwner()
Component
是焦点所有者,则返回 true
。
Component
是焦点所有者,则返回 true
;否则返回 false
public void add(PopupMenu popup)
popup
- 要添加给组件的弹出菜单。
NullPointerException
- 如果 popup
为 null
remove(MenuComponent)
public void remove(MenuComponent popup)
MenuContainer
中的 remove
popup
- 要移除的弹出菜单add(PopupMenu)
protected String paramString()
null
。
public String toString()
Object
中的 toString
public void list()
System.out
。
System.out
public void list(PrintStream out)
out
- 打印流public void list(PrintStream out, int indent)
out
- 打印流indent
- 缩排的空格数PrintStream.println(java.lang.Object)
public void list(PrintWriter out)
out
- 打印到的打印编写器public void list(PrintWriter out, int indent)
out
- 打印到的打印编写器indent
- 缩排的空格数PrintStream.println(java.lang.Object)
public void addPropertyChangeListener(PropertyChangeListener listener)
Component
继承了一个绑定属性,则不会激发事件来响应继承属性的改变。
如果 listener
为 null
,则不会抛出异常并且不执行动作。
listener
- 要添加的属性更改侦听器removePropertyChangeListener(java.beans.PropertyChangeListener)
,
#getPropertyChangeListener
,
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
public void removePropertyChangeListener(PropertyChangeListener listener)
如果 listener 为 null,则不会抛出异常并且不执行动作。
listener
- 要移除的 PropertyChangeListeneraddPropertyChangeListener(java.beans.PropertyChangeListener)
,
#getPropertyChangeListener
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
,如果当前没有注册的属性更改侦听器,则返回一个空数组addPropertyChangeListener(java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
,
#getPropertyChangeListener(java.lang.String)
,
java.beans.PropertyChangeSupport#getPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Component
继承了一个绑定属性,则不会激发事件来响应继承属性的改变。
如果 propertyName
或 listener
为 null
,则不会抛出异常并且不执行动作。
propertyName
- 上面所列的属性名之一listener
- 要添加的 PropertyChangeListenerremovePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
#getPropertyChangeListener(java.lang.String)
,
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
。应该使用此方法移除为指定绑定属性所注册的 PropertyChangeListener
。
如果 propertyName
或 listener
为 null
,则不会抛出异常并且不执行动作。
propertyName
- 有效的属性名listener
- 要移除的 PropertyChangeListeneraddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
#getPropertyChangeListener(java.lang.String)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
PropertyChangeListener
;如果尚未添加这样的侦听器,或者 propertyName
为 null
,则返回空数组addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
#getPropertyChangeListener
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
propertyName
- 其值已改变的属性oldValue
- 该属性以前的值newValue
- 该属性的新值protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
propertyName
- 其值已改变的属性oldValue
- 该属性以前的值newValue
- 该属性的新值protected void firePropertyChange(String propertyName, int oldValue, int newValue)
propertyName
- 其值已改变的属性oldValue
- 该属性以前的值newValue
- 该属性的新值public void firePropertyChange(String propertyName, byte oldValue, byte newValue)
propertyName
- 已改变的属性的编程名称oldValue
- 该属性的旧值(byte 类型)newValue
- 该属性的新值(byte 类型)firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, char oldValue, char newValue)
propertyName
- 已改变的属性的编程名称oldValue
- 该属性的旧值(char 类型)newValue
- 该属性的新值(char 类型)firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, short oldValue, short newValue)
propertyName
- 已改变的属性的编程名称oldValue
- 该属性的旧值(short 类型)newValue
- 该属性的新值(short 类型)firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, long oldValue, long newValue)
propertyName
- 已改变的属性的编程名称oldValue
- 该属性的旧值(long 类型)newValue
- 该属性的新值(long 类型)firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, float oldValue, float newValue)
propertyName
- 已改变的属性的编程名称oldValue
- 该属性的旧值(float 类型)newValue
- 该属性的新值(float 类型)firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, double oldValue, double newValue)
propertyName
- 已改变的属性的编程名称oldValue
- 该属性的旧值(double 类型)newValue
- 该属性的新值(double 类型)firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void setComponentOrientation(ComponentOrientation o)
LayoutManager
和 Component
子类使用此属性来确定如何布局并绘制组件。
在构造时,组件的方向设置为 ComponentOrientation.UNKNOWN
,表示尚未显式地指定它。UNKNOWN 方向的行为与 ComponentOrientation.LEFT_TO_RIGHT
相同。
要设置单个组件的方向,请使用此方法。要设置整个组件层次结构的方向,请使用 applyComponentOrientation
。
ComponentOrientation
public ComponentOrientation getComponentOrientation()
LayoutManager
和 Component
子类在执行布局或绘制前应该调用此方法来获取组件的方向。
ComponentOrientation
public void applyComponentOrientation(ComponentOrientation orientation)
ComponentOrientation
属性。
orientation
- 此组件及其包含的所有组件的新组件方向。
NullPointerException
- 如果 orientation
为 null。setComponentOrientation(java.awt.ComponentOrientation)
,
getComponentOrientation()
public AccessibleContext getAccessibleContext()
Component
相关的 AccessibleContext
。此基类所实现的方法返回 null。扩展 Component
的类应该实现此方法,以便返回与该子类相关的 AccessibleContext
。
Component
的 AccessibleContext
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2008 Sun Microsystems, Inc. 保留所有权利。请遵守GNU General Public License, version 2 only。