|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectjava.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,或者返回 nullpublic final Object getTreeLock()
public Toolkit getToolkit()
public boolean isValid()
true;否则返回 falsevalidate(),
invalidate()public boolean isDisplayable()
将组件添加到一个可显示的包含层次结构时,或者其包含层次结构变成可显示时,该组件才成为可显示的组件。当包含层次结构的祖先窗口被打包或变为可见时,它才成为可显示的。
从可显示的包含层次结构中移除某个组件,或者该组件的包含层次结构变成不可显示时,该组件就成为不可显示的组件。当包含层次结构的祖先窗口被移除时,它才变成不可显示的。
true;否则返回 falseContainer.add(Component),
Window.pack(),
Window.show(),
Container.remove(Component),
Window.dispose()public boolean isVisible()
Frame 对象等顶层组件除外。
true;否则返回 falsesetVisible(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;否则返回 falsesetVisible(boolean)public boolean isEnabled()
setEnabled 方法可以启用或禁用组件。
true;否则返回 falsesetEnabled(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 中的 getFontsetFont(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 - 组件的新 widthheight - 组件的新 heightgetBounds(),
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 - 一个包含所需最大允许大小的 DimensiongetMaximumSize(),
isMaximumSizeSet()public boolean isMaximumSizeSet()
null 值,则返回 true,否则返回 false。
maximumSize 是非 null 值,则返回 true,否则返回 falsepublic Dimension getMaximumSize()
getMinimumSize(),
getPreferredSize(),
LayoutManagerpublic float getAlignmentX()
public float getAlignmentY()
public int getBaseline(int width,
int height)
LayoutManager,以便沿组件的基线对齐组件。返回值小于 0 表示此组件没有合理的基线,LayoutManager 不应该根据该组件的基线来对齐此组件。
默认实现返回 -1。支持基线的子类应该适当重写。如果返回值 >= 0,则该组件有一个对于 >= 最小大小的任何大小有效的基线,并且可以使用 getBaselineResizeBehavior 确定基线如何随大小发生更改。
width - 适合基线的宽度height - 适合基线的高度
IllegalArgumentException - 如果 width 或 height < 0getBaselineResizeBehavior(),
FontMetricspublic 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(),
LayoutManagerpublic Graphics getGraphics()
null。
nullpaint(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),
Cursorpublic 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 中的 imageUpdateimg - 正观察的图像infoflags - 有关更多信息,请参阅 imageUpdatex - 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 - 准备进行屏幕表示的 Imageobserver - 图像准备就绪时所要通知的 ImageObserver 对象
true;否则返回 false
public boolean prepareImage(Image image,
int width,
int height,
ImageObserver observer)
图像数据由另一个线程异步下载并生成适当缩放的图像屏幕表示。
image - 准备进行屏幕表示的 Image 实例width - 所需屏幕表示的宽度height - 所需屏幕表示的高度observer - 图像准备就绪时所要通知的 ImageObserver 对象
true;否则返回 falseImageObserver
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 - 正检查其状态的 Imagewidth - 要检查其状态的缩放图像的宽度height - 要检查其状态的缩放图像的高度observer - 图像准备就绪时所要通知的 ImageObserver 对象
ImageObserver 的标志按位进行 OR 运算后的结果,指示图像的哪些信息是当前可用的prepareImage(Image, int, int, java.awt.image.ImageObserver),
Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver),
ImageObserverpublic 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 坐标
nullcontains(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 中的 postEventpublic 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(),
#getPropertyChangeListenerpublic InputMethodRequests getInputMethodRequests()
InputMethodRequests 实例。同时,还必须处理输入方法事件。
nulladdInputMethodListener(java.awt.event.InputMethodListener)public InputContext getInputContext()
nullprotected final void enableEvents(long eventsToEnable)
将某个事件类型的侦听器添加到该组件时,自动启用该事件类型。
此方法只能由 Component 的子类调用,该子类需要将指定的事件类型传递给 processEvent,而不管是否已注册了侦听器。
eventsToEnable - 定义事件类型的事件掩码processEvent(java.awt.AWTEvent),
disableEvents(long),
AWTEventprotected 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;否则返回 falsesetFocusable(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_KEYSpublic 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_KEYSpublic 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;如果可能成功,则返回 trueFocusEvent,
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;如果可能成功,则返回 truerequestFocus(),
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;如果可能成功,则返回 truerequestFocus(),
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;否则返回 falseContainer.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;否则返回 falsepublic boolean isFocusOwner()
Component 是焦点所有者,则返回 true。
Component 是焦点所有者,则返回 true;否则返回 falsepublic void add(PopupMenu popup)
popup - 要添加给组件的弹出菜单。
NullPointerException - 如果 popup 为 nullremove(MenuComponent)public void remove(MenuComponent popup)
MenuContainer 中的 removepopup - 要移除的弹出菜单add(PopupMenu)protected String paramString()
null。
public String toString()
Object 中的 toStringpublic void list()
System.out。
System.outpublic 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。
ComponentOrientationpublic ComponentOrientation getComponentOrientation()
LayoutManager 和 Component 子类在执行布局或绘制前应该调用此方法来获取组件的方向。
ComponentOrientationpublic 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 Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。