public abstract class Component extends Object implements ImageObserver, MenuContainer, Serializable
Component
类是与非菜单相关的抽象Window Toolkit组件的抽象Component
类。 Component
类也可以直接扩展来创建一个轻量级的组件。 轻量级组件是与本机窗口无关的组件。 相反,重量级组件与本机窗口相关联。 isLightweight()
方法可用于区分两种组件。
轻量级和重型组件可以在单个组件层次结构中混合。 然而,为了正确操作这种混合层次结构的组件,整个层次结构必须是有效的。 当层次结构失效时,如更改组件的边界,或向容器添加/删除组件后,必须通过在层次结构的最上层无效容器上调用的Container.validate()
方法验证整个层次结构。
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 implements 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 。
有关焦点子系统的详细信息,请参阅How to Use the Focus Subsystem ,在Java教程一节,以及Focus Specification以获取更多信息。
Modifier and Type | Class and Description |
---|---|
protected class |
Component.AccessibleAWTComponent
组件的内部类用于为辅助功能提供默认支持。
|
static class |
Component.BaselineResizeBehavior
枚举组件的基准线随着大小变化而改变的常见方式。
|
protected class |
Component.BltBufferStrategy
内部类别将屏幕外表面喷涂到组件上。
|
protected class |
Component.FlipBufferStrategy
内部类用于在组件上翻转缓冲区。
|
Modifier and Type | Field and Description |
---|---|
protected AccessibleContext |
accessibleContext
该
AccessibleContext 与此相关
Component 。
|
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() 。
|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Modifier | Constructor and Description |
---|---|
protected |
Component()
构造一个新的组件。
|
Modifier and Type | Method and Description |
---|---|
boolean |
action(Event evt, Object what)
已弃用
从JDK 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)
返回是否为此组件显式定义了给定焦点遍历操作的聚焦遍历键集。
|
Rectangle |
bounds()
已弃用
从JDK 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 1.1版开始,由
dispatchEvent(AWTEvent e) 。
|
void |
disable()
已弃用
从JDK 1.1版开始,由
setEnabled(boolean) 。
|
protected void |
disableEvents(long eventsToDisable)
禁用由指定事件掩码参数定义的事件传递给此组件。
|
void |
dispatchEvent(AWTEvent e)
将事件分派到此组件或其一个子组件。
|
void |
doLayout()
提示布局管理器布局此组件。
|
void |
enable()
已弃用
从JDK 1.1版开始,由
setEnabled(boolean) 。
|
void |
enable(boolean b)
已弃用
从JDK 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)
支持报告对象属性的绑定属性更改。
|
void |
firePropertyChange(String propertyName, short oldValue, short newValue)
报告绑定属性更改。
|
AccessibleContext |
getAccessibleContext()
获取
AccessibleContext 与此相关
Component 。
|
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()
获取
DropTarget 与此相关
Component 。
|
Container |
getFocusCycleRootAncestor()
返回作为该组件焦点遍历循环的焦点循环根的容器。
|
FocusListener[] |
getFocusListeners()
返回在此组件上注册的所有焦点侦听器的数组。
|
Set<AWTKeyStroke> |
getFocusTraversalKeys(int id)
返回此组件的给定遍历操作的聚焦遍历键集。
|
boolean |
getFocusTraversalKeysEnabled()
返回是否为此组件启用焦点遍历键。
|
Font |
getFont()
获取此组件的字体。
|
FontMetrics |
getFontMetrics(Font font)
获取指定字体的字体指标。
|
Color |
getForeground()
获取此组件的前景色。
|
Graphics |
getGraphics()
为此组件创建图形上下文。
|
GraphicsConfiguration |
getGraphicsConfiguration()
获取
GraphicsConfiguration 与此相关
Component 。
|
int |
getHeight()
返回此组件的当前高度。
|
HierarchyBoundsListener[] |
getHierarchyBoundsListeners()
返回在此组件上注册的所有层次结构边界侦听器的数组。
|
HierarchyListener[] |
getHierarchyListeners()
返回在此组件上注册的所有层级监听器的数组。
|
boolean |
getIgnoreRepaint() |
InputContext |
getInputContext()
获取此组件使用的输入上下文,以便在此组件中输入文本时处理与输入法的通信。
|
InputMethodListener[] |
getInputMethodListeners()
返回在此组件上注册的所有输入法侦听器的数组。
|
InputMethodRequests |
getInputMethodRequests()
获取支持该组件输入法的请求的输入法请求处理程序。
|
KeyListener[] |
getKeyListeners()
返回在此组件上注册的所有关键侦听器的数组。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回当前注册为
FooListener 的所有对象的数组,此对象为
Component 。
|
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 1.1版开始,程序不应该直接操纵对等体;
换成
boolean isDisplayable() 。
|
Dimension |
getPreferredSize()
获取此组件的首选大小。
|
PropertyChangeListener[] |
getPropertyChangeListeners()
返回在此组件上注册的所有属性更改侦听器的数组。
|
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName)
返回与named属性相关联的所有侦听器的数组。
|
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 1.1版开始,由processFocusEvent(FocusEvent)替代。
|
boolean |
handleEvent(Event evt)
已弃用
从JDK版本1.1替换为processEvent(AWTEvent)。
|
boolean |
hasFocus()
如果
Component 是焦点所有者,则返回
true 。
|
void |
hide()
已弃用
截至JDK 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 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是否是此组件焦点遍历周期的焦点循环根。
|
boolean |
isFocusOwner()
如果
Component 是焦点所有者,则返回
true 。
|
boolean |
isFocusTraversable()
已弃用
截至1.4,由
isFocusable() 取代。
|
boolean |
isFontSet()
返回是否已经为此组件显式设置了字体。
|
boolean |
isForegroundSet()
返回是否为此组件显式设置了前景色。
|
boolean |
isLightweight()
轻量级组件没有本机工具包对等体。
|
boolean |
isMaximumSizeSet()
如果最大大小设置为非
null 值,则返回true,否则返回false。
|
boolean |
isMinimumSizeSet()
返回是否已使用非空值调用
setMinimumSize 。
|
boolean |
isOpaque()
如果此组件完全不透明,则返回true,默认情况下返回false。
|
boolean |
isPreferredSizeSet()
如果首选大小设置为非
null 值,则返回true,否则返回false。
|
boolean |
isShowing()
确定此组件是否在屏幕上显示。
|
boolean |
isValid()
确定此组件是否有效。
|
boolean |
isVisible()
确定当该组件的父级可见时是否应该可见。
|
boolean |
keyDown(Event evt, int key)
已弃用
从JDK 1.1版开始,由processKeyEvent(KeyEvent)替换。
|
boolean |
keyUp(Event evt, int key)
已弃用
从JDK 1.1版开始,由processKeyEvent(KeyEvent)替换。
|
void |
layout()
已弃用
从JDK 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 1.1版开始,由getComponentAt(int,int)替换。
|
Point |
location()
已弃用
截至JDK 1.1版,由
getLocation() 。
|
boolean |
lostFocus(Event evt, Object what)
已弃用
从JDK 1.1版开始,由processFocusEvent(FocusEvent)替代。
|
Dimension |
minimumSize()
已弃用
截至JDK 1.1版,由
getMinimumSize() 取代。
|
boolean |
mouseDown(Event evt, int x, int y)
已弃用
从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。
|
boolean |
mouseDrag(Event evt, int x, int y)
已弃用
从JDK 1.1版开始,由processMouseMotionEvent(MouseEvent)替换。
|
boolean |
mouseEnter(Event evt, int x, int y)
已弃用
从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。
|
boolean |
mouseExit(Event evt, int x, int y)
已弃用
从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。
|
boolean |
mouseMove(Event evt, int x, int y)
已弃用
从JDK 1.1版开始,由processMouseMotionEvent(MouseEvent)替换。
|
boolean |
mouseUp(Event evt, int x, int y)
已弃用
从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。
|
void |
move(int x, int y)
已弃用
从JDK 1.1版开始,由
setLocation(int, int) 。
|
void |
nextFocus()
已弃用
从JDK 1.1版开始,由transferFocus()替换。
|
void |
paint(Graphics g)
涂抹这个组件。
|
void |
paintAll(Graphics g)
绘制此组件及其所有子组件。
|
protected String |
paramString()
返回表示此组件状态的字符串。
|
boolean |
postEvent(Event e)
已弃用
从JDK 1.1版开始,由dispatchEvent(AWTEvent)替换。
|
Dimension |
preferredSize()
已弃用
截至JDK 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 到任何已
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毫秒内
tm 绘制该组件的
tm 矩形。
|
void |
requestFocus()
请求此组件获取输入焦点,并且该组件的顶级祖先成为关注的窗口。
|
protected boolean |
requestFocus(boolean temporary)
要求这个
Component 得到输入焦点,而这个
Component 的顶级祖先成为焦点
Window 。
|
boolean |
requestFocusInWindow()
要求此组件获取输入焦点,如果此组件的顶级祖先已经是关注的窗口。
|
protected boolean |
requestFocusInWindow(boolean temporary)
要求这个
Component 得到输入焦点,如果这个
Component 的顶级祖先已经是重点
Window 。
|
void |
reshape(int x, int y, int width, int height)
已弃用
从JDK 1.1版开始,由
setBounds(int, int, int, int) 。
|
void |
resize(Dimension d)
已弃用
从JDK 1.1版开始,由
setSize(Dimension) 。
|
void |
resize(int width, int height)
已弃用
从JDK 1.1版开始,由
setSize(int, int) 。
|
void |
revalidate()
将组件层次结构重新验证为最接近的验证根。
|
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 的值启用或禁用此
b 。
|
void |
setFocusable(boolean focusable)
将此组件的可聚焦状态设置为指定的值。
|
void |
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置此组件给定遍历操作的焦点遍历键。
|
void |
setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
设置是否为此组件启用对焦遍历键。
|
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的值显示或隐藏此
b 。
|
void |
show()
已弃用
从JDK 1.1版开始,由
setVisible(boolean) 。
|
void |
show(boolean b)
已弃用
从JDK 1.1版开始,由
setVisible(boolean) 。
|
Dimension |
size()
已弃用
截至JDK 1.1版,由
getSize() 。
|
String |
toString()
返回此组件及其值的字符串表示形式。
|
void |
transferFocus()
将焦点转移到下一个组件,就像这个组件是焦点所有者一样。
|
void |
transferFocusBackward()
将焦点转移到以前的组件,就像这个组件是焦点所有者一样。
|
void |
transferFocusUpCycle()
将焦点转移到一个焦点遍历周期。
|
void |
update(Graphics g)
更新此组件。
|
void |
validate()
验证此组件。
|
public static final float TOP_ALIGNMENT
getAlignmentY()
的易用常数。
指定与组件顶部的对齐方式。
getAlignmentY()
,
Constant Field Values
public static final float CENTER_ALIGNMENT
getAlignmentY
和getAlignmentX
的易用常数。
指定与组件中心的对齐方式
public static final float BOTTOM_ALIGNMENT
getAlignmentY
的易用常数。
指定与组件底部的对齐方式。
getAlignmentY()
,
Constant Field Values
public static final float LEFT_ALIGNMENT
getAlignmentX
的易用常数。
指定组件左侧的对齐方式。
getAlignmentX()
,
Constant Field Values
public static final float RIGHT_ALIGNMENT
getAlignmentX
的易用常数。
指定组件右侧的对齐方式。
getAlignmentX()
,
Constant Field Values
protected AccessibleContext accessibleContext
AccessibleContext
与此相关
Component
。
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
- DropTarget
isEnabled()
public DropTarget getDropTarget()
DropTarget
与此相关
Component
。
public GraphicsConfiguration getGraphicsConfiguration()
GraphicsConfiguration
与此相关Component
。
如果Component
尚未分配特定的GraphicsConfiguration
,则GraphicsConfiguration
Component
对象的顶级容器的GraphicsConfiguration。
如果Component
已创建,但尚未添加到Container
,此方法返回null
。
GraphicsConfiguration
使用的
Component
或
null
public final Object getTreeLock()
public Toolkit getToolkit()
public boolean isValid()
true
如果组件有效,
false
false
validate()
,
invalidate()
public boolean isDisplayable()
当组件添加到可显示的包含层次结构中或当其包含层次结构可显示时,组件可以显示。 当其祖先窗口被打包或使其可见时,可以显示包含层次结构。
当组件从可显示的包含层次结构中移除时,或者当其包含层次结构不可显示时,组件不可显示。 当其祖先窗口被布置时,容纳层次结构不可显示。
true
如果组件可显示,
false
false
Container.add(Component)
,
Window.pack()
,
Window.show()
,
Container.remove(Component)
,
Window.dispose()
public boolean isVisible()
Frame
对象。
true
如果组件可见,
false
false
setVisible(boolean)
public Point getMousePosition() throws HeadlessException
Component
直接位于鼠标指针下方,则返回鼠标指针位置在这个Component
的坐标空间,否则返回null
。
如果Component
未在屏幕上显示,此方法返回null
即使鼠标指针是在该区域上方Component
将被显示。
如果Component
被其他部分或完全遮蔽Component
S或本机窗口,此方法返回仅当鼠标指针位于上方的遮掩部分的非空值Component
。
对于Container
,如果鼠标高于Container
本身或其任何Container
以上,则返回非空值。 如果您需要排除儿童使用Container.getMousePosition(boolean)
。
有时,确切的鼠标坐标并不重要,唯一重要的是特定的Component
是否在鼠标指针下。 如果此方法的返回值为null
,则鼠标指针不直接在Component
。
Component
鼠标坐标,或null
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true
isShowing()
,
Container.getMousePosition(boolean)
public boolean isShowing()
注意:有时无法检测Component
是否实际上对用户可见。 这可能发生在以下情况:
ScrollPane
但Component
当前不在滚动窗格的视图端口中。 Component
被另一个Component
或Container
。 true
如果组件显示,
false
否则
setVisible(boolean)
public boolean isEnabled()
setEnabled
方法来启用或禁用setEnabled
。
true
如果组件启用,
false
false
setEnabled(boolean)
public void setEnabled(boolean b)
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()
,
invalidate()
@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
,则此Component将从祖先继承其前景颜色。
true
如果已经为此组件显式设置了前景色;
false
否则。
public Color getBackground()
setBackground(java.awt.Color)
public void setBackground(Color c)
背景颜色会不同地影响每个组件,受背景颜色影响的组件部分在操作系统之间可能不同。
c
- 成为该组件颜色的颜色;
如果此参数为null
,则此组件将继承其父级的背景颜色
getBackground()
public boolean isBackgroundSet()
false
,则此Component将从祖先继承其背景颜色。
true
如果已经为此组件显式设置了背景颜色;
false
否则。
public Font getFont()
getFont
在界面
MenuContainer
setFont(java.awt.Font)
public void setFont(Font f)
该方法更改布局相关信息,因此使组件层次结构无效。
f
- 成为该组件字体的字体;
如果此参数为null
则此组件将继承其父级的字体
getFont()
,
invalidate()
public boolean isFontSet()
false
,则此组件将从祖先继承其字体。
true
如果已经为此组件显式设置了字体;
false
否则。
public Locale getLocale()
IllegalComponentStateException
- 如果
Component
没有自己的区域设置,并且尚未添加到包含层次结构中,以便可以从包含的父项确定区域设置
setLocale(java.util.Locale)
public void setLocale(Locale l)
该方法更改布局相关信息,因此使组件层次结构无效。
l
- 成为该组件的区域设置的区域设置
getLocale()
,
invalidate()
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
父项的坐标空间中的x
和y
参数指定。
该方法更改布局相关信息,因此使组件层次结构无效。
x
-新位置的左上角的父坐标空间的
X -协调
y
-新位置的左上角的父坐标空间在
y -协调
getLocation()
,
setBounds(int, int, int, int)
,
invalidate()
@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)
,
invalidate()
public Dimension getSize()
Dimension
对象的形式返回此组件的大小。
Dimension
对象的height
字段包含此组件的高度, Dimension
对象的width
字段包含此组件的宽度。
Dimension
此组件大小的
Dimension
对象
setSize(int, int)
@Deprecated public Dimension size()
getSize()
。
public void setSize(int width, int height)
width
,高度为height
。
该方法更改布局相关信息,因此使组件层次结构无效。
width
- 此组件的新宽度(以像素为单位)
height
- 该
height
的新高度(以像素为单位)
getSize()
,
setBounds(int, int, int, int)
,
invalidate()
@Deprecated public void resize(int width, int height)
setSize(int, int)
。
public void setSize(Dimension d)
d.width
,高度为d.height
。
该方法更改布局相关信息,因此使组件层次结构无效。
d
- 指定此组件的新大小的维度
NullPointerException
- 如果
d
是
null
setSize(int, int)
,
setBounds(int, int, int, int)
,
invalidate()
@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 -coordinate
y
- 这个组件的新
y-坐标
width
-新
width
这个组件的
height
-新
height
这个组件的
getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
,
invalidate()
@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
- 此组件的新的边界矩形
NullPointerException
- 如果
r
是
null
getBounds()
,
setLocation(int, int)
,
setLocation(Point)
,
setSize(int, int)
,
setSize(Dimension)
,
invalidate()
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.getSize().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。
isLightweight()
public boolean isLightweight()
Component
和Container
,除了在此包等中定义的Button
或Scrollbar
,重量轻。
所有的Swing组件都是轻量级的。
如果此组件不可显示,则此方法将始终返回false
,因为无法确定不可显示组件的重量。
isDisplayable()
public void setPreferredSize(Dimension preferredSize)
getPreferredSize
总是返回此值。
将首选大小设置为null
可恢复默认行为。
preferredSize
- 新的首选大小,或null
getPreferredSize()
,
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
- 该
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,
maximumSize
为false
public 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
- 如果宽度或高度<0
getBaselineResizeBehavior()
, 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.validate()
。
invalidate()
, doLayout()
, LayoutManager
, Container.validate()
public void invalidate()
默认情况下,到层次结构最顶层容器的组件的所有祖先被标记为无效。 如果java.awt.smartInvalidate
系统属性设置为true
,则无效在该组件的最近的验证根上停止。 标记容器无效表示容器需要布置。
当任何与布局相关的信息发生变化(例如,设置组件的界限,或将组件添加到容器中)时,将自动调用此方法。
这种方法可能经常被调用,所以它应该能够快速运行。
validate()
, doLayout()
, LayoutManager
, Container.isValidateRoot()
public void revalidate()
该方法首先使从该组件开始到最近的验证根的组件层次化。 之后,从最近的验证根开始验证组件层次结构。
这是一种方便的方法,可以帮助应用程序开发人员避免手动查找有效的根。 基本上,这相当于首先在该组件上调用invalidate()
方法,然后在最近的验证根上调用validate()
方法。
Container.isValidateRoot()
public Graphics getGraphics()
null
如果组件当前是不可显示。
null
paint(java.awt.Graphics)
public FontMetrics getFontMetrics(Font font)
FontRenderContext
的影响,并且此方法不提供,因此如果正在使用Graphics2D
功能,则可以仅返回默认渲染上下文的度量标准。
而在渲染时可以通过在Font
类上调用Graphics.getFontMetrics()
或文本测量API获得指标 。
font
- 要获取字体指标的字体
font
的字体指标
getFont()
,
getPeer()
,
ComponentPeer.getFontMetrics(Font)
,
Toolkit.getFontMetrics(Font)
public void setCursor(Cursor cursor)
contains
方法为当前光标位置返回true时显示此光标图像,此组件可见,可显示和启用。
设置的光标Container
会导致在内的所有容器的子组件内显示该光标,除了那些具有非null
光标。
如果Java平台实现和/或本地系统不支持更改鼠标光标的形状,该方法可能没有视觉效果。
cursor
- 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
,则此Component将从祖先继承其游标。
true
如果已经为此组件显式设置了游标;
false
否则。
public void paint(Graphics g)
当组件的内容应该被绘制时,调用该方法; 例如当组件首次显示或损坏并需要修理时。 在剪裁矩形Graphics
参数设置为需要被绘制的区域。 Component的Component
覆盖此方法不需要调用super.paint(g)
。
出于性能原因,宽度或高度为零的Component
s在首次显示时不被认为需要喷漆,也不被认为需要修理。
注意 :有关AWT和Swing实施的绘画机制的更多信息,包括有关如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
g
- 用于绘画的图形上下文
update(java.awt.Graphics)
public void update(Graphics g)
如果此组件不是轻量级组件,则AWT将调用update
方法以响应对repaint
的调用。 您可以假设背景不被清除。
该update
的方法Component
调用此组件的paint
方法来重绘此组件。 这种方法通常被需要为响应于repaint
的调用做其他工作的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)
paint
在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
绘制该组件的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)
imageUpdate
一个的方法ImageObserver
被调用时围绕其已经使用异步例程,如先前所请求的图像的详细信息drawImage
的方法Graphics
变得可用。
见定义imageUpdate
查找有关此方法及其参数的更多信息。
该imageUpdate
的方法Component
组件作为多个图像的各个位可在递增地绘制的图像。
如果系统属性awt.image.incrementaldraw
丢失或值为true
,图像将逐步绘制。 如果系统属性具有任何其他值,则在完全加载映像之前,不会绘制图像。
另外,如果增量绘图生效,则系统属性awt.image.redrawrate
的值被解释为整数,以awt.image.redrawrate
为单位给出最大重绘速率。 如果系统属性丢失或不能被解释为整数,则重绘速率是每100ms一次。
的解释x
, y
, width
和height
参数依赖于价值infoflags
说法。
imageUpdate
在界面
ImageObserver
img
- 正在观察的图像
infoflags
-见
imageUpdate
了解更多信息
x
-
x坐标
y
-
y坐标
w
- 宽度
h
- 高度
false
如果infoflags指示图像被完全加载;
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接口的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
方法强制加载映像。
该checkImage
的方法Component
要求其对等的checkImage
方法来计算标志。 如果该组件还没有对等体,则调用该组件的工具包的checkImage
方法。
有关通过此方法返回的标志的信息可以在ImageObserver接口的ImageObserver
找到。
image
- 正在检查状态的
Image
对象
width
- 要检查其状态的缩放版本的宽度
height
- 要检查其状态的缩放版本的高度
observer
- 正在准备好要通知的
ImageObserver
对象
ImageObserver
标志的按位包含
或
prepareImage(Image, int, int, java.awt.image.ImageObserver)
, Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)
, ImageObserver
public void setIgnoreRepaint(boolean ignoreRepaint)
这是有用的,例如,如果在全屏模式下运行,希望更好的性能,或者如果使用页面翻转作为缓冲策略。
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
- 关键
NullPointerException
- 如果
p
是
null
getComponentAt(Point)
public Component getComponentAt(int x, int y)
该locate
的方法Component
简单地返回组件本身,如果(X,Y)坐标位置是其边界框的内部, 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)
processEvent
然后返回已为Component
启用的1.1种类型的事件。
e
- 事件
@Deprecated public boolean postEvent(Event e)
postEvent
在界面
MenuContainer
public void addComponentListener(ComponentListener l)
l
- 组件侦听器
ComponentEvent
, ComponentListener
, removeComponentListener(java.awt.event.ComponentListener)
, getComponentListeners()
public void removeComponentListener(ComponentListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 组件侦听器
ComponentEvent
, ComponentListener
, addComponentListener(java.awt.event.ComponentListener)
, getComponentListeners()
public ComponentListener[] getComponentListeners()
ComponentListener
s此组件或空数组,如果没有组件侦听器当前注册
addComponentListener(java.awt.event.ComponentListener)
,
removeComponentListener(java.awt.event.ComponentListener)
public void addFocusListener(FocusListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 焦点侦听器
FocusEvent
, FocusListener
, removeFocusListener(java.awt.event.FocusListener)
, getFocusListeners()
public void removeFocusListener(FocusListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 焦点侦听器
FocusEvent
, FocusListener
, addFocusListener(java.awt.event.FocusListener)
, getFocusListeners()
public FocusListener[] getFocusListeners()
FocusListener
s或一个空数组,如果没有组件侦听器当前注册
addFocusListener(java.awt.event.FocusListener)
,
removeFocusListener(java.awt.event.FocusListener)
public void addHierarchyListener(HierarchyListener l)
l
为null
,则不抛出任何异常,并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 层次监听器
HierarchyEvent
, HierarchyListener
, removeHierarchyListener(java.awt.event.HierarchyListener)
, getHierarchyListeners()
public void removeHierarchyListener(HierarchyListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 层次监听器
HierarchyEvent
, HierarchyListener
, addHierarchyListener(java.awt.event.HierarchyListener)
, getHierarchyListeners()
public HierarchyListener[] getHierarchyListeners()
HierarchyListener
s或一个空数组,如果没有层次结构侦听器当前注册
addHierarchyListener(java.awt.event.HierarchyListener)
,
removeHierarchyListener(java.awt.event.HierarchyListener)
public void addHierarchyBoundsListener(HierarchyBoundsListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 层次结构监听器
HierarchyEvent
, HierarchyBoundsListener
, removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
, getHierarchyBoundsListeners()
public void removeHierarchyBoundsListener(HierarchyBoundsListener l)
l
为null
,则不会抛出异常,并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 层次结构监听器
HierarchyEvent
, HierarchyBoundsListener
, addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
, getHierarchyBoundsListeners()
public HierarchyBoundsListener[] getHierarchyBoundsListeners()
HierarchyBoundsListener
s或一个空数组,如果没有层次结构绑定侦听器当前注册
addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,
removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
public void addKeyListener(KeyListener l)
l
- 关键听众。
KeyEvent
, KeyListener
, removeKeyListener(java.awt.event.KeyListener)
, getKeyListeners()
public void removeKeyListener(KeyListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 关键听众
KeyEvent
, KeyListener
, addKeyListener(java.awt.event.KeyListener)
, getKeyListeners()
public KeyListener[] getKeyListeners()
KeyListener
s或一个空数组,如果没有密钥侦听器当前注册
addKeyListener(java.awt.event.KeyListener)
,
removeKeyListener(java.awt.event.KeyListener)
public void addMouseListener(MouseListener l)
l
- 鼠标监听器
MouseEvent
, MouseListener
, removeMouseListener(java.awt.event.MouseListener)
, getMouseListeners()
public void removeMouseListener(MouseListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 鼠标监听器
MouseEvent
, MouseListener
, addMouseListener(java.awt.event.MouseListener)
, getMouseListeners()
public MouseListener[] getMouseListeners()
MouseListener
s或一个空数组,如果没有鼠标监听器当前注册
addMouseListener(java.awt.event.MouseListener)
,
removeMouseListener(java.awt.event.MouseListener)
public void addMouseMotionListener(MouseMotionListener l)
l
- 鼠标移动侦听器
MouseEvent
, MouseMotionListener
, removeMouseMotionListener(java.awt.event.MouseMotionListener)
, getMouseMotionListeners()
public void removeMouseMotionListener(MouseMotionListener l)
l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 鼠标移动侦听器
MouseEvent
, MouseMotionListener
, addMouseMotionListener(java.awt.event.MouseMotionListener)
, getMouseMotionListeners()
public MouseMotionListener[] getMouseMotionListeners()
MouseMotionListener
s或一个空数组,如果没有鼠标移动侦听器当前注册
addMouseMotionListener(java.awt.event.MouseMotionListener)
,
removeMouseMotionListener(java.awt.event.MouseMotionListener)
public void addMouseWheelListener(MouseWheelListener l)
有关如何调度鼠标滚轮事件的信息,请参阅MouseWheelEvent
的类说明 。
如果l为null
,则不会抛出任何异常,也不会执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 鼠标滚轮侦听器
MouseWheelEvent
, MouseWheelListener
, removeMouseWheelListener(java.awt.event.MouseWheelListener)
, getMouseWheelListeners()
public void removeMouseWheelListener(MouseWheelListener l)
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 鼠标滚轮侦听器。
MouseWheelEvent
, MouseWheelListener
, addMouseWheelListener(java.awt.event.MouseWheelListener)
, getMouseWheelListeners()
public MouseWheelListener[] getMouseWheelListeners()
MouseWheelListener
s或一个空数组,如果没有鼠标滚轮侦听器当前注册
addMouseWheelListener(java.awt.event.MouseWheelListener)
,
removeMouseWheelListener(java.awt.event.MouseWheelListener)
public void addInputMethodListener(InputMethodListener l)
getInputMethodRequests
以返回一个InputMethodRequests
实例,那么它只会从输入法接收输入法事件。
如果监听器l
为null
,则不会抛出异常并且不执行任何操作。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
l
- 输入法侦听器
InputMethodEvent
, InputMethodListener
, removeInputMethodListener(java.awt.event.InputMethodListener)
, getInputMethodListeners()
, getInputMethodRequests()
public void removeInputMethodListener(InputMethodListener l)
l
为null
,则不会抛出异常,并且不执行任何操作。
请参阅AWT Threading Issues有关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(类<T> listenerType)
FooListener
的所有对象的数组,在此Component
。
FooListener
使用addFooListener
方法注册。
您可以使用类文字指定listenerType
参数,例如FooListener.class
。 例如,您可以使用以下代码查询Component
c
的鼠标监听器:
MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。
listenerType
- 所请求的听众的类型;
此参数应指定从java.util.EventListener
下降的java.util.EventListener
FooListener
的所有对象的数组,如果未添加此类侦听器,则为空数组
ClassCastException
- 如果
listenerType
未指定实现java.util.EventListener的类或
java.util.EventListener
NullPointerException
- 如果
listenerType
是
null
getComponentListeners()
,
getFocusListeners()
,
getHierarchyListeners()
,
getHierarchyBoundsListeners()
,
getKeyListeners()
,
getMouseListeners()
,
getMouseMotionListeners()
,
getMouseWheelListeners()
,
getInputMethodListeners()
,
getPropertyChangeListeners()
public InputMethodRequests getInputMethodRequests()
InputMethodRequests
必须覆盖此方法以返回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
此方法由EventQueue.postEvent
调用。
该方法或者返回一个替换现有事件(并且新事件被丢弃)的合并事件,或者null
以指示不应该进行组合(将第二个事件添加到队列结尾)。
任何一个事件参数都可以被修改和返回,因为另外一个被丢弃,除非返回null
。
coalesceEvents的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
对象来处理组件事件。
除非为此组件启用组件事件,否则不会调用此方法。 当以下情况发生时,组件事件被启用:
ComponentListener
对象通过addComponentListener
。 enableEvents
启用。 请注意,如果事件参数为null
则行为未指定,可能会导致异常。
e
- 组件事件
ComponentEvent
, ComponentListener
, addComponentListener(java.awt.event.ComponentListener)
, enableEvents(long)
protected void processFocusEvent(FocusEvent e)
FocusListener
对象来处理在此组件上发生的焦点事件。
除非为此组件启用聚焦事件,否则不会调用此方法。 当以下情况发生时,聚焦事件将被启用:
FocusListener
对象通过addFocusListener
。 enableEvents
启用。 如果Component
启用了焦点事件,则当前的KeyboardFocusManager
确定是否应将焦点事件发送到已FocusListener
对象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
对象来处理此组件上发生的关键事件。
除非为此组件启用了关键事件,否则不会调用此方法。 如果出现以下情况之一,则启用主要事件:
KeyListener
对象通过addKeyListener
。 enableEvents
启用。 如果Component
启用了关键事件,则当前的KeyboardFocusManager
确定是否应将关键事件发送到已KeyListener
对象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
对象来处理此组件上发生的鼠标事件。
除非启用此组件的鼠标事件,否则不会调用此方法。 当发生以下情况之一时,启用鼠标事件:
MouseListener
对象通过addMouseListener
。 enableEvents
启用。 请注意,如果事件参数为null
则该行为未指定,并可能导致异常。
e
- 鼠标事件
MouseEvent
, MouseListener
, addMouseListener(java.awt.event.MouseListener)
, enableEvents(long)
protected void processMouseMotionEvent(MouseEvent e)
MouseMotionListener
对象来处理在此组件上发生的鼠标运动事件。
除非为此组件启用鼠标运动事件,否则不会调用此方法。 当发生以下其中一种情况时,启动鼠标运动事件:
MouseMotionListener
对象通过addMouseMotionListener
。 enableEvents
启用。 请注意,如果事件参数为null
则该行为未指定,可能会导致异常。
e
- 鼠标运动事件
MouseEvent
, MouseMotionListener
, addMouseMotionListener(java.awt.event.MouseMotionListener)
, enableEvents(long)
protected void processMouseWheelEvent(MouseWheelEvent e)
MouseWheelListener
对象来处理鼠标滚轮事件。
除非为此组件启用鼠标滚轮事件,否则不会调用此方法。 当发生以下情况之一时,鼠标滚轮事件被启用:
MouseWheelListener
对象通过addMouseWheelListener
。 enableEvents
启用。 有关如何调度鼠标滚轮事件的信息,请参阅MouseWheelEvent
的类说明 。
请注意,如果事件参数为null
则行为未指定,并可能导致异常。
e
- 鼠标滚轮事件
MouseWheelEvent
, MouseWheelListener
, addMouseWheelListener(java.awt.event.MouseWheelListener)
, enableEvents(long)
protected void processInputMethodEvent(InputMethodEvent e)
InputMethodListener
对象来处理在此组件上发生的输入法事件。
除非为此组件启用输入方法事件,否则不调用此方法。 当发生以下其中一种情况时,将启用输入法事件:
InputMethodListener
对象通过addInputMethodListener
。 enableEvents
启用输入法事件。 请注意,如果事件参数为null
则行为未指定,并可能导致异常。
e
- 输入法事件
InputMethodEvent
, InputMethodListener
, addInputMethodListener(java.awt.event.InputMethodListener)
, enableEvents(long)
protected void processHierarchyEvent(HierarchyEvent e)
HierarchyListener
对象来处理此组件上发生的层次结构事件。
除非为此组件启用层次结构事件,否则不调用此方法。 当发生以下情况之一时,启用层次结构事件:
HierarchyListener
对象通过addHierarchyListener
。 enableEvents
启用层次结构事件。 请注意,如果事件参数为null
则行为未指定,可能会导致异常。
e
- 层次结构事件
HierarchyEvent
, HierarchyListener
, addHierarchyListener(java.awt.event.HierarchyListener)
, enableEvents(long)
protected void processHierarchyBoundsEvent(HierarchyEvent e)
HierarchyBoundsListener
对象来限制发生在该组件上的事件。
除非为该组件启用层次结构限制事件,否则不调用此方法。 当发生以下情况之一时,启用层次结构边界事件:
HierarchyBoundsListener
对象通过addHierarchyBoundsListener
。 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()
,
invalidate()
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
是否可以成为焦点所有者。
true
如果这个Component
是可对焦的;
false
否则
setFocusable(boolean)
public boolean isFocusable()
true
如果此组件可对焦;
false
否则。
setFocusable(boolean)
public void setFocusable(boolean focusable)
focusable
- 指示此组件是否可对焦
isFocusable()
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
组件焦点遍历键的默认值与实现相关。 Sun建议特定本地平台的所有实现使用相同的默认值。 Windows和Unix的建议如下。 这些建议用于Sun AWT实现。
Identifier Meaning Default KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS Normal forward keyboard traversal TAB on KEY_PRESSED, CTRL-TAB on KEY_PRESSED KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS Normal reverse keyboard traversal SHIFT-TAB on KEY_PRESSED, CTRL-SHIFT-TAB on KEY_PRESSED KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS Go up one focus traversal cycle none使用AWTKeyStroke API,客户端代码可以指定两个特定的KeyEvent,KEY_PRESSED或KEY_RELEASED中的哪一个,焦点遍历操作将发生。 然而,无论指定了哪个KeyEvent,与焦点遍历键相关的所有KeyEvent都将被使用,包括关联的KEY_TYPED事件,并且不会被分派到任何组件。 指定一个KEY_TYPED事件作为映射到焦点遍历操作的运行时错误,或将同一事件映射到多个默认焦点遍历操作。
如果为Set指定了null值,则此Component将从其父项继承Set。 如果此组件的所有祖先对于Set指定了空值,则使用当前的KeyboardFocusManager的默认Set。
如果Object
中的keystrokes
不是ClassCastException
则此方法可能会抛出AWTKeyStroke
。
id
- 一个KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
keystrokes
- 指定操作的AWTKeyStroke集
IllegalArgumentException
- 如果id不是KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS中的一个,或键击包含null,或者如果任何键击代表KEY_TYPED事件,或者如果任何键击已经映射到此组件的另一个焦点遍历操作
getFocusTraversalKeys(int)
,
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
setFocusTraversalKeys
)
如果尚未为此组件显式定义一组遍历键,则返回此组件的父级集。 如果没有为任何此组件的祖先显式定义Set,则返回当前的KeyboardFocusManager的默认Set。
id
-
id
之一,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
,则此组件将从祖先或当前的KeyboardFocusManager继承Set。
id
-
id
之一,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
- 是否为此组件启用对焦遍历键
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()
该方法无法用于将焦点所有者设置为无任何组件。 改用KeyboardFocusManager.clearGlobalFocusOwner()
。
由于此方法的重点行为与平台有关,因此强烈建议开发requestFocusInWindow
尽可能使用requestFocusInWindow
。
注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用Component
的其他requestFocus
方法。
protected boolean requestFocus(boolean temporary)
Component
得到输入焦点,而这个Component
的顶级祖先成为焦点Window
。
该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。
将竭尽全力尊重这一要求;
然而,在某些情况下,这可能是不可能的。
开发者绝不能假定该组件是焦点所有者,直到该组件收到FOCUS_GAINED事件为止。
如果此请求被拒绝,因为该组件的顶级窗口不能成为关注的窗口,则该请求将被记住,并且将在窗口稍后被用户关注时被授予。
此方法返回一个布尔值。 如果返回false
,请求保证失败 。 如果返回true
, 除非被否决, 否则请求将成功,否则在本地窗口系统授予请求之前,会发生特殊事件,例如组件对等体的处理。 此外,虽然返回值true
表示请求可能成功,开发人员必须永远不能假定此Component是焦点所有者,直到此组件接收FOCUS_GAINED事件。
该方法无法用于将焦点所有者设置为无任何组件。 改用KeyboardFocusManager.clearGlobalFocusOwner
。
由于这种方法的重点行为是平台依赖的,所以强烈建议开发requestFocusInWindow
尽可能使用requestFocusInWindow
。
将竭尽所能,以确保该FocusEvent
S作为该请求将具有指定的临时值而产生的。 但是,由于指定任意临时状态在所有本机窗口系统上可能无法实现,所以仅对于轻量级Component
才能保证该方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(如Swing)的钩子而存在。
注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用Component
的其他requestFocus
方法。
temporary
- 如果焦点更改是临时的,例如当窗口失去焦点时,则为true;
有关临时焦点变化的更多信息,请参阅Focus Specification
false
如果焦点更改请求保证失败;
true
如果有可能成功
FocusEvent
, addFocusListener(java.awt.event.FocusListener)
, isFocusable()
, isDisplayable()
, KeyboardFocusManager.clearGlobalFocusOwner()
public boolean requestFocusInWindow()
此方法返回一个布尔值。 如果返回false
,则请求将保证失败 。 如果返回true
, 除非被否决, 否则请求将成功,否则在本地窗口系统授予请求之前,会发生异常事件(例如组件对等体的处理)。 此外,虽然返回值true
表示请求可能成功,开发人员必须永远不能假定此Component是焦点所有者在此Component接收FOCUS_GAINED事件。
该方法无法用于将焦点所有者设置为无任何组件。 改用KeyboardFocusManager.clearGlobalFocusOwner()
。
这种方法的重点行为可以跨平台实现,因此,强烈建议开发人员尽可能地使用这种方法requestFocus
。 依赖于requestFocus
代码可能会在不同的requestFocus
上展示不同的焦点行为。
注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用Component
的其他requestFocus
方法。
false
如果焦点更改请求保证失败;
true
如果有可能成功
requestFocus()
, FocusEvent
, addFocusListener(java.awt.event.FocusListener)
, isFocusable()
, isDisplayable()
, KeyboardFocusManager.clearGlobalFocusOwner()
protected boolean requestFocusInWindow(boolean temporary)
Component
得到输入的焦点,如果这个Component
的顶级祖先已经是专注的Window
。
该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。
将竭尽全力尊重这一要求;
然而,在某些情况下,这可能是不可能的。
开发者绝不能假定该组件是焦点所有者,直到该组件收到FOCUS_GAINED事件为止。
此方法返回一个布尔值。 如果返回false
,则请求将保证失败 。 如果返回true
,则除非被否决, 否则请求将成功,否则在本地窗口系统授予请求之前,会发生特殊事件(例如组件对等体的处理)。 此外,虽然返回值true
表示请求可能成功,开发人员必须永远不能假定此Component是焦点所有者,直到此组件接收FOCUS_GAINED事件。
该方法无法用于将焦点所有者设置为无任何组件。 改用KeyboardFocusManager.clearGlobalFocusOwner
。
这种方法的重点行为可以跨平台实现,因此,强烈建议开发人员尽可能地使用此方法, requestFocus
。 依赖于requestFocus
代码可能会在不同的requestFocus
上展示不同的焦点行为。
将竭尽所能,以确保该FocusEvent
S作为该请求将具有指定的临时值而产生的。 但是,由于指定任意临时状态在所有本机窗口系统上可能无法实现,因此只能为轻量级组件确保此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(如Swing)的钩子而存在。
注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用Component
的其他requestFocus
方法。
temporary
- 如果焦点更改是临时的,例如当窗口失去焦点时,则为true;
有关临时焦点变化的更多信息,请参阅Focus Specification
false
如果焦点更改请求保证失败;
true
如果可能成功
requestFocus()
, FocusEvent
, addFocusListener(java.awt.event.FocusListener)
, isFocusable()
, isDisplayable()
, KeyboardFocusManager.clearGlobalFocusOwner()
public Container getFocusCycleRootAncestor()
Container.isFocusCycleRoot()
public boolean isFocusCycleRoot(Container container)
container
- 要测试的容器
true
如果指定的Container是此组件的焦点循环根;
false
否则
Container.isFocusCycleRoot()
public void transferFocus()
requestFocus()
@Deprecated public void nextFocus()
public void transferFocusBackward()
requestFocus()
public void transferFocusUpCycle()
requestFocus()
,
Container.isFocusCycleRoot()
,
Container.setFocusCycleRoot(boolean)
public boolean hasFocus()
Component
是焦点所有者,则返回true
。
此方法已过时,已由isFocusOwner()
。
true
如果这个Component
是焦点所有者;
false
否则
public boolean isFocusOwner()
Component
是焦点所有者,则返回
true
。
true
如果这个Component
是焦点所有者;
false
否则
public void add(PopupMenu popup)
popup
- 要添加到组件的弹出菜单。
NullPointerException
- 如果
popup
是
null
remove(MenuComponent)
public void remove(MenuComponent popup)
remove
在接口
MenuContainer
popup
- 要删除的弹出菜单
add(PopupMenu)
protected String paramString()
null
。
public String toString()
public void list()
System.out
。
System.out
public void list(PrintStream out)
out
- 打印流
NullPointerException
- 如果
out
是
null
public void list(PrintStream out, int indent)
out
- 打印流
indent
- 缩进的空格数
NullPointerException
- 如果
out
是
null
PrintStream.println(java.lang.Object)
public void list(PrintWriter out)
out
- 要打印的打印作者
NullPointerException
- 如果
out
是
null
public void list(PrintWriter out, int indent)
out
- 要打印的打印作者
indent
- 缩进的空格数
NullPointerException
- 如果
out
是
null
PrintStream.println(java.lang.Object)
public void addPropertyChangeListener(PropertyChangeListener listener)
Component
正在继承绑定属性,那么在继承的属性的更改中将不会触发任何事件。
如果listener
为null
,则不会抛出异常并且不执行任何操作。
public void removePropertyChangeListener(PropertyChangeListener listener)
如果侦听器为空,则不会抛出异常,也不会执行任何操作。
listener
- 要删除的PropertyChangeListener
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners()
,
removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListener
s或一个空数组,如果没有属性更改侦听器当前注册
addPropertyChangeListener(java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
,
PropertyChangeSupport.getPropertyChangeListeners()
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Component
正在继承绑定属性,则不会在继承属性的更改中触发任何事件。
如果propertyName
或listener
是null
,则不抛出任何异常并且不采取任何操作。
propertyName
- 上面列出的属性名称之一
listener
- 要添加的属性更改侦听器
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
,
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
。
该方法应用于删除已注册为特定绑定属性的PropertyChangeListener
s。
如果propertyName
或listener
是null
,则不会抛出异常并且不采取任何操作。
propertyName
- 有效的属性名称
listener
- 要删除的PropertyChangeListener
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
,
removePropertyChangeListener(java.beans.PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
PropertyChangeListener
s与命名属性相关联;
如果没有添加此类侦听器,或者如果propertyName
为null
,则返回一个空数组
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners()
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
- 属性的旧值(作为一个字节)
newValue
- 属性的新值(作为一个字节)
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
- 物业的旧价值(作为短期)
newValue
- 物业的旧价值(作为短期)
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, long oldValue, long newValue)
propertyName
- 已更改的属性的编程名称
oldValue
- 物业的旧价值(长)
newValue
- 物业的新价值(长期)
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, float oldValue, float newValue)
propertyName
- 已更改的属性的编程名称
oldValue
- 属性的旧值(作为浮点数)
newValue
- 属性的新值(作为浮点数)
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
public void firePropertyChange(String propertyName, double oldValue, double newValue)
propertyName
- 已更改的属性的编程名称
oldValue
- 该属性的旧值(双重)
newValue
- 属性的新值(双重)
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
, invalidate()
public ComponentOrientation getComponentOrientation()
LayoutManager
和Component
希望尊重方向的子类应该在执行布局或绘图之前调用此方法来获取组件的方向。
ComponentOrientation
public void applyComponentOrientation(ComponentOrientation orientation)
ComponentOrientation
属性及其中包含的所有组件。
该方法更改布局相关信息,因此使组件层次结构无效。
orientation
- 此组件及其中包含的组件的新组件方向。
NullPointerException
- 如果
orientation
为空。
setComponentOrientation(java.awt.ComponentOrientation)
,
getComponentOrientation()
,
invalidate()
public AccessibleContext getAccessibleContext()
AccessibleContext
与此相关Component
。
该基类实现的方法返回null。
扩展Component
类应实现此方法返回与子类AccessibleContext
AccessibleContext。
AccessibleContext
的
Component
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.