- java.lang.Object
-
- java.awt.Component
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
public abstract class Component extends Object implements ImageObserver, MenuContainer, Serializable
组件是具有可以在屏幕上显示并且可以与用户交互的图形表示的对象。 组件的示例是典型图形用户界面的按钮,复选框和滚动条。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获取更多信息。
- 另请参见:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
Component.AccessibleAWTComponent
组件的内部类用于为辅助功能提供默认支持。static class
Component.BaselineResizeBehavior
枚举组件的基准线随着大小变化而改变的常见方式。protected class
Component.BltBufferStrategy
内部类别将屏幕外表面喷涂到组件上。protected class
Component.FlipBufferStrategy
内部类用于在组件上翻转缓冲区。
-
Field Summary
Fields Modifier and Type Field 描述 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()
。-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Component()
构造一个新的组件。
-
方法摘要
所有方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 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, int width, int height, ImageObserver observer)
返回构造指定图像的屏幕表示的状态。int
checkImage(Image image, 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(int width, int height)
创建一个用于双缓冲的屏幕外可绘图像。Image
createImage(ImageProducer producer)
从指定的图像制作者创建图像。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)
报告绑定属性更改。void
firePropertyChange(String propertyName, short oldValue, short newValue)
报告绑定属性更改。protected void
firePropertyChange(String propertyName, Object oldValue, Object 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>
T[]getListeners(Class<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()
获取此组件的父级。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, int width, int height, ImageObserver observer)
准备一个图像,以指定的宽度和高度在此组件上渲染。boolean
prepareImage(Image image, 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()
请求此组件获取输入焦点,并且该组件的顶级祖先成为关注的窗口。protected boolean
requestFocus(boolean temporary)
要求这个Component
得到输入焦点,而这个Component
的顶级祖先成为焦点Window
。protected boolean
requestFocus(boolean temporary, FocusEvent.Cause cause)
由于cause
,这个Component
得到了输入焦点,而这个Component
的顶级祖先成为焦点Window
。void
requestFocus(FocusEvent.Cause cause)
请求由cause
这个组件获得输入焦点,并且该组件的顶级祖先成为关注的窗口。boolean
requestFocusInWindow()
要求此组件获取输入焦点,如果此组件的顶级祖先已经是关注的窗口。protected boolean
requestFocusInWindow(boolean temporary)
要求这个Component
得到输入的焦点,如果这个Component
的顶级祖先已经是焦点Window
。boolean
requestFocusInWindow(FocusEvent.Cause cause)
由于cause
,该组件获取输入焦点,如果此组件的顶级祖先已经是关注的窗口。void
reshape(int x, int y, int width, int height)
已过时。从JDK 1.1版开始,替换为setBounds(int, int, int, int)
。void
resize(int width, int height)
已过时。从JDK 1.1版开始,由setSize(int, int)
替代。void
resize(Dimension d)
已过时。从JDK 1.1版开始,由setSize(Dimension)
取代。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
的值启用或禁用此组件。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
setMixingCutoutShape(Shape shape)
为此轻型组件设置“混合切割”形状。void
setName(String name)
将组件的名称设置为指定的字符串。void
setPreferredSize(Dimension preferredSize)
将此组件的首选大小设置为常量值。void
setSize(int width, int height)
调整此组件的大小,使其具有宽度width
和高度height
。void
setSize(Dimension d)
调整此组件的大小,使其宽度为d.width
,高度为d.height
。void
setVisible(boolean 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()
验证此组件。
-
-
-
字段详细信息
-
TOP_ALIGNMENT
public static final float TOP_ALIGNMENT
易于使用的常数为getAlignmentY()
。 指定与组件顶部的对齐方式。- 另请参见:
-
getAlignmentY()
, Constant Field Values
-
CENTER_ALIGNMENT
public static final float CENTER_ALIGNMENT
易于使用的常数为getAlignmentY
和getAlignmentX
。 指定与组件中心的对齐方式
-
BOTTOM_ALIGNMENT
public static final float BOTTOM_ALIGNMENT
易于使用的常数为getAlignmentY
。 指定与组件底部的对齐方式。- 另请参见:
-
getAlignmentY()
, Constant Field Values
-
LEFT_ALIGNMENT
public static final float LEFT_ALIGNMENT
易于使用的常数为getAlignmentX
。 指定组件左侧的对齐方式。- 另请参见:
-
getAlignmentX()
, Constant Field Values
-
RIGHT_ALIGNMENT
public static final float RIGHT_ALIGNMENT
易于使用的常数为getAlignmentX
。 指定组件右侧的对齐方式。- 另请参见:
-
getAlignmentX()
, Constant Field Values
-
accessibleContext
protected AccessibleContext accessibleContext
该AccessibleContext
与此Component
相关联。
-
-
方法详细信息
-
getName
public String getName()
获取组件的名称。- 结果
- 这个组件的名字
- 从以下版本开始:
- 1.1
- 另请参见:
-
setName(java.lang.String)
-
setName
public void setName(String name)
将组件的名称设置为指定的字符串。- 参数
-
name
- 作为此组件名称的字符串 - 从以下版本开始:
- 1.1
- 另请参见:
-
getName()
-
getParent
public Container getParent()
获取此组件的父级。- 结果
- 这个组件的父容器
- 从以下版本开始:
- 1.0
-
setDropTarget
public void setDropTarget(DropTarget dt)
将一个DropTarget
与此组件关联。Component
只有在启用时才会接收到丢弃。- 参数
-
dt
- DropTarget - 另请参见:
-
isEnabled()
-
getDropTarget
public DropTarget getDropTarget()
获取DropTarget
与此Component
相关联。- 结果
- 下降目标
-
getGraphicsConfiguration
public GraphicsConfiguration getGraphicsConfiguration()
获取GraphicsConfiguration
与此Component
相关联。 如果Component
尚未分配特定GraphicsConfiguration
,该GraphicsConfiguration
的的Component
对象的顶级容器返回。 如果已创建Component
,但尚未添加到Container
,此方法返回null
。- 结果
-
所述
GraphicsConfiguration
此使用Component
或null
- 从以下版本开始:
- 1.3
-
getTreeLock
public final Object getTreeLock()
获取AWT组件树和布局操作的此组件的锁定对象(拥有线程同步监视器的对象)。- 结果
- 这个组件的锁定对象
-
getToolkit
public Toolkit getToolkit()
获取此组件的工具包。 请注意,包含组件的框架控制该组件使用哪个工具包。 因此,如果组件从一个框架移动到另一个框架,则它使用的工具包可能会更改。- 结果
- 该组件的工具包
- 从以下版本开始:
- 1.0
-
isValid
public boolean isValid()
确定此组件是否有效。 组件在其父容器中的大小和位置都正确并且其所有子项也是有效的时候是有效的。 为了解决对等体的大小要求,组件在首次显示在屏幕上之前无效。 当父容器完全实现时,其所有组件将有效。- 结果
-
true
如果组件有效,否则为false
- 从以下版本开始:
- 1.0
- 另请参见:
-
validate()
,invalidate()
-
isDisplayable
public boolean isDisplayable()
确定此组件是否可显示。 组件在连接到本机屏幕资源时可显示。当组件添加到可显示的包含层次结构中或当其包含层次结构可显示时,组件可以显示。 当其祖先窗口被打包或使其可见时,可以显示包含层次结构。
当组件从可显示的包含层次结构中移除时,或者当其包含层次结构不可显示时,组件不可显示。 当其祖先窗口被布置时,容纳层次结构不可显示。
- 结果
-
true
如果组件可显示,否则为false
- 从以下版本开始:
- 1.2
- 另请参见:
-
Container.add(Component)
,Window.pack()
,Window.show()
,Container.remove(Component)
,Window.dispose()
-
isVisible
public boolean isVisible()
确定当该组件的父级可见时是否应该可见。 组件最初可见,除了顶级组件,例如Frame
对象。- 结果
-
true
如果组件可见,否则为false
- 从以下版本开始:
- 1.0
- 另请参见:
-
setVisible(boolean)
-
getMousePosition
public Point getMousePosition() throws HeadlessException
如果Component
直接在鼠标指针下面,则返回鼠标指针在Component
的坐标空间中的位置,否则返回null
。 如果Component
没有显示在屏幕上,即使鼠标指针在显示Component
的区域上方,该方法返回null
。 如果Component
被其他Component
或本机窗口部分或完全遮挡,则该方法仅在鼠标指针位于Component
的视野Component
部分上方时才返回非空值。为
Container
的IT如果鼠标上述返回一个非空值Container
本身或以上任一后代。 如果您需要排除儿童,请使用Container.getMousePosition(boolean)
。有时,确切的鼠标坐标并不重要,唯一重要的是特定的
Component
是否在鼠标指针下方。 如果此方法的返回值为null
,鼠标指针不在Component
。- 结果
-
相对于此
Component
鼠标坐标,或null - 异常
-
HeadlessException
- 如果GraphicsEnvironment.isHeadless()返回true - 从以下版本开始:
- 1.5
- 另请参见:
-
isShowing()
,Container.getMousePosition(boolean)
-
isShowing
public boolean isShowing()
确定此组件是否在屏幕上显示。 这意味着组件必须可见,并且它必须在可见和显示的容器中。注意:有时无法检测
Component
是否实际上对用户可见。 这可能发生在:- 该组件已添加到可见的
ScrollPane
但Component
当前不在滚动窗格的视图端口中。 -
Component
被另一个Component
或Container
。
- 结果
-
true
如果组件显示,false
否则 - 从以下版本开始:
- 1.0
- 另请参见:
-
setVisible(boolean)
- 该组件已添加到可见的
-
isEnabled
public boolean isEnabled()
确定是否启用此组件。 启用的组件可以响应用户输入并生成事件。 默认情况下,组件最初启用。 可以通过调用其setEnabled
方法来启用或禁用组件。- 结果
-
true
如果组件已启用,否则为false
- 从以下版本开始:
- 1.0
- 另请参见:
-
setEnabled(boolean)
-
setEnabled
public void setEnabled(boolean b)
根据参数b
的值启用或禁用此组件。 启用的组件可以响应用户输入并生成事件。 默认情况下,组件最初启用。注意:禁用轻量级组件不会阻止它接收MouseEvents。
注意:禁用重量级容器会阻止此容器中的所有组件接收任何输入事件。 但禁用轻量级容器仅影响此容器。
- 参数
-
b
- 如果是true
,则启用该组件; 否则该组件被禁用 - 从以下版本开始:
- 1.1
- 另请参见:
-
isEnabled()
,isLightweight()
-
enable
@Deprecated public void enable()
已过时。 从JDK 1.1版开始,由setEnabled(boolean)
代替。
-
enable
@Deprecated public void enable(boolean b)
已过时。 从JDK 1.1版开始,由setEnabled(boolean)
替代。启用或禁用此组件。- 参数
-
b
-true
以启用此组件; 否则false
-
disable
@Deprecated public void disable()
已过时。 从JDK 1.1版开始,由setEnabled(boolean)
替代。
-
isDoubleBuffered
public boolean isDoubleBuffered()
如果此组件被绘制到稍后复制到屏幕的屏幕外图像(“缓冲区”),则返回true。 支持双缓冲的组件子类应该覆盖此方法,以便在启用双缓冲时返回true。- 结果
- 默认为false
-
enableInputMethods
public void enableInputMethods(boolean enable)
启用或禁用此组件的输入法支持。 如果启用了输入法支持,并且组件还处理关键事件,则传入事件将提供给当前输入法,并且只有在组件执行时才会被处理,或者如果输入方法不消耗它们,则调度到其监听器。 默认情况下,启用输入法支持。- 参数
-
enable
- true启用,false禁用 - 从以下版本开始:
- 1.2
- 另请参见:
-
processKeyEvent(java.awt.event.KeyEvent)
-
setVisible
public void setVisible(boolean b)
根据参数b
的值显示或隐藏此组件。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
b
- 如果是true
,则显示此组件; 否则隐藏这个组件 - 从以下版本开始:
- 1.1
- 另请参见:
-
isVisible()
,invalidate()
-
show
@Deprecated public void show()
已过时。 从JDK 1.1版开始,由setVisible(boolean)
代替。
-
show
@Deprecated public void show(boolean b)
已过时。 从JDK 1.1版开始,由setVisible(boolean)
替代。使此组件可见或不可见。- 参数
-
b
-true
以使该组件可见; 否则false
-
hide
@Deprecated public void hide()
已过时。 从JDK 1.1版开始,由setVisible(boolean)
取代。
-
getForeground
public Color getForeground()
获取此组件的前景色。- 结果
- 这个组件的前景色; 如果此组件没有前景色,则返回其父项的前景色
- 从以下版本开始:
- 1.0
- 另请参见:
-
setForeground(java.awt.Color)
-
setForeground
public void setForeground(Color c)
设置此组件的前景颜色。- 参数
-
c
- 成为该组件前景色的颜色; 如果此参数为null
则此组件将继承其父级的前景色 - 从以下版本开始:
- 1.0
- 另请参见:
-
getForeground()
-
isForegroundSet
public boolean isForegroundSet()
返回是否为此组件显式设置了前景色。 如果此方法返回false
,则此Component将从祖先继承其前景颜色。- 结果
-
true
如果前面的颜色已被明确设置为此组件; 否则为false
。 - 从以下版本开始:
- 1.4
-
getBackground
public Color getBackground()
获取此组件的背景颜色。- 结果
- 这个组件的背景颜色; 如果该组件没有背景颜色,则返回其父项的背景颜色
- 从以下版本开始:
- 1.0
- 另请参见:
-
setBackground(java.awt.Color)
-
setBackground
public void setBackground(Color c)
设置此组件的背景颜色。背景颜色会不同地影响每个组件,受背景颜色影响的组件部分在操作系统之间可能不同。
- 参数
-
c
- 成为该组件颜色的颜色; 如果此参数为null
,则此组件将继承其父级的背景颜色 - 从以下版本开始:
- 1.0
- 另请参见:
-
getBackground()
-
isBackgroundSet
public boolean isBackgroundSet()
返回是否为此组件显式设置了背景颜色。 如果此方法返回false
,则此组件将从祖先继承其背景颜色。- 结果
-
true
如果已经为此组件显式设置了背景颜色; 否则为false
。 - 从以下版本开始:
- 1.4
-
getFont
public Font getFont()
获取此组件的字体。- Specified by:
-
getFont
在接口MenuContainer
- 结果
- 这个组件的字体; 如果尚未为此组件设置字体,则返回其父代的字体
- 从以下版本开始:
- 1.0
- 另请参见:
-
setFont(java.awt.Font)
-
setFont
public void setFont(Font f)
设置此组件的字体。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
f
- 字体成为这个组件的字体; 如果此参数为null
则此组件将继承其父级的字体 - 从以下版本开始:
- 1.0
- 另请参见:
-
getFont()
,invalidate()
-
isFontSet
public boolean isFontSet()
返回是否已经为此组件显式设置了字体。 如果此方法返回false
,则此Component将从祖先继承其字体。- 结果
-
true
如果字体已被明确设置为此组件; 否则为false
。 - 从以下版本开始:
- 1.4
-
getLocale
public Locale getLocale()
获取此组件的区域设置。- 结果
- 这个组件的区域设置; 如果此组件没有区域设置,则返回其父级的区域设置
- 异常
-
IllegalComponentStateException
- 如果Component
没有自己的区域设置,并且尚未添加到包含层次结构中,以便可以从包含的父项确定区域设置 - 从以下版本开始:
- 1.1
- 另请参见:
-
setLocale(java.util.Locale)
-
setLocale
public void setLocale(Locale l)
设置此组件的区域设置。 这是一个绑定属性。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
l
- 成为该组件区域设置的区域设置 - 从以下版本开始:
- 1.1
- 另请参见:
-
getLocale()
,invalidate()
-
getColorModel
public ColorModel getColorModel()
获取用于在输出设备上显示组件的ColorModel
的实例。- 结果
- 该组件使用的颜色模型
- 从以下版本开始:
- 1.0
- 另请参见:
-
ColorModel
,ComponentPeer.getColorModel()
,Toolkit.getColorModel()
-
getLocation
public Point getLocation()
以指定组件左上角的点的形式获取此组件的位置。 位置将相对于父母的坐标空间。由于本机事件处理的异步性质,该方法可以返回过时的值(例如,在快速连续的多次调用
setLocation()
之后)。 因此,获取组件位置的推荐方法在java.awt.event.ComponentListener.componentMoved()
内,在操作系统完成组件移动后调用。- 结果
-
一个
Point
的实例表示组件的父元素坐标空间中组件边界的左上角 - 从以下版本开始:
- 1.1
- 另请参见:
-
setLocation(int, int)
,getLocationOnScreen()
-
getLocationOnScreen
public Point getLocationOnScreen()
以指定组件左上角的点的形式获取此组件的位置。- 结果
-
表示屏幕坐标空间中组件边界左上角的
Point
的实例 - 异常
-
IllegalComponentStateException
- 如果组件没有显示在屏幕上 - 另请参见:
-
setLocation(int, int)
,getLocation()
-
location
@Deprecated public Point location()
已过时。 从JDK 1.1版开始,由getLocation()
替代。返回此组件左上角的位置。- 结果
- 该组件的左上角的位置
-
setLocation
public void setLocation(int x, int y)
将此组件移动到新位置。 新位置的左上角由此组件父项的坐标空间中的x
和y
参数指定。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
x
- 新位置的左上角 x坐标坐标空间 -
y
- 父位置坐标空间中新位置左上角的 y坐标 - 从以下版本开始:
- 1.1
- 另请参见:
-
getLocation()
,setBounds(int, int, int, int)
,invalidate()
-
move
@Deprecated public void move(int x, int y)
已过时。 从JDK 1.1版开始,由setLocation(int, int)
替代。将此组件移动到新位置。- 参数
-
x
- 新位置的左上角 x坐标坐标空间 -
y
- 父位置坐标空间中新位置左上角的 y坐标
-
setLocation
public void setLocation(Point p)
将此组件移动到新位置。 新位置的左上角由点p
指定。 点p
在父协调空间中给出。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
p
- 定义新位置左上角的点,在该组件的父项的坐标空间中给出 - 从以下版本开始:
- 1.1
- 另请参见:
-
getLocation()
,setBounds(int, int, int, int)
,invalidate()
-
getSize
public Dimension getSize()
以Dimension
对象的形式返回此组件的大小。Dimension
对象的height
字段包含此组件的高度,而Dimension
对象的width
字段包含此组件的宽度。- 结果
-
一个
Dimension
对象,指示此组件的大小 - 从以下版本开始:
- 1.1
- 另请参见:
-
setSize(int, int)
-
size
@Deprecated public Dimension size()
已过时。 截至JDK 1.1版,由getSize()
替代。以Dimension
对象的形式返回此组件的大小。- 结果
-
表示此组件大小的
Dimension
对象
-
setSize
public void setSize(int width, int height)
调整此组件的大小,使其宽度为width
,高度为height
。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
width
- 该组件的新宽度(以像素为单位) -
height
- 该组件的新高度(以像素为单位) - 从以下版本开始:
- 1.1
- 另请参见:
-
getSize()
,setBounds(int, int, int, int)
,invalidate()
-
resize
@Deprecated public void resize(int width, int height)
已过时。 从JDK 1.1版开始,由setSize(int, int)
替代。调整此组件的大小。- 参数
-
width
- 组件的新宽度 -
height
- 组件的新高度
-
setSize
public void setSize(Dimension d)
调整此组件的大小,使其宽度为d.width
,高度为d.height
。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
d
- 指定此组件的新大小的维度 - 异常
-
NullPointerException
- 如果d
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
setSize(int, int)
,setBounds(int, int, int, int)
,invalidate()
-
resize
@Deprecated public void resize(Dimension d)
已过时。 从JDK 1.1版开始,由setSize(Dimension)
替代。调整此组件的大小,使其宽度为d.width
,高度为d.height
。- 参数
-
d
- 这个组件的新尺寸
-
getBounds
public Rectangle getBounds()
以Rectangle
对象的形式获取此组件的边界。 边界指定该组件相对于其父项的宽度,高度和位置。- 结果
- 一个表示该组件边界的矩形
- 另请参见:
-
setBounds(int, int, int, int)
,getLocation()
,getSize()
-
bounds
@Deprecated public Rectangle bounds()
已过时。 从JDK 1.1版开始,由getBounds()
替代。返回此组件的边界矩形。- 结果
- 该组件的边界矩形
-
setBounds
public void setBounds(int x, int y, int width, int height)
移动并调整此组件的大小。 左上角的新位置由x
和y
指定,新大小由width
和height
指定。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
x
- 这个组件的新 x坐标 -
y
- 这个组件的新 y-坐标 -
width
- 这个组件的新width
-
height
- 这个组件的新height
- 从以下版本开始:
- 1.1
- 另请参见:
-
getBounds()
,setLocation(int, int)
,setLocation(Point)
,setSize(int, int)
,setSize(Dimension)
,invalidate()
-
reshape
@Deprecated public void reshape(int x, int y, int width, int height)
已过时。 从JDK 1.1版开始,由setBounds(int, int, int, int)
替代。重新整形这个组件的边界矩形。- 参数
-
x
- 矩形左上角的 x坐标 -
y
- 矩形左上角的 y坐标 -
width
- 矩形的宽度 -
height
- 矩形的高度
-
setBounds
public void setBounds(Rectangle r)
移动并调整此组件的大小以符合新的边界矩形r
。 该组件的新位置由r.x
和r.y
指定,其新尺寸由r.width
和r.height
指定该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
r
- 此组件的新的边界矩形 - 异常
-
NullPointerException
- 如果r
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
getBounds()
,setLocation(int, int)
,setLocation(Point)
,setSize(int, int)
,setSize(Dimension)
,invalidate()
-
getX
public int getX()
返回组件原点的当前x坐标。 这种方法比component.getBounds().x
或component.getLocation().x
更component.getBounds().x
,因为它不会导致堆分配。- 结果
- 组件原点的当前x坐标
- 从以下版本开始:
- 1.2
-
getY
public int getY()
返回组件原点的当前y坐标。 这种方法比component.getBounds().y
或component.getLocation().y
更component.getBounds().y
,因为它不会导致任何堆分配。- 结果
- 组件原点的当前y坐标
- 从以下版本开始:
- 1.2
-
getWidth
public int getWidth()
返回此组件的当前宽度。 这种方法比component.getBounds().width
或component.getSize().width
更component.getBounds().width
,因为它不会导致任何堆分配。- 结果
- 该组件的当前宽度
- 从以下版本开始:
- 1.2
-
getHeight
public int getHeight()
返回此组件的当前高度。 这种方法比component.getBounds().height
或component.getSize().height
更component.getBounds().height
,因为它不会导致任何堆分配。- 结果
- 该组件的当前高度
- 从以下版本开始:
- 1.2
-
getBounds
public Rectangle getBounds(Rectangle rv)
将此组件的边界存储到“返回值” rv并返回rv 。 如果rv为null
,则新分配Rectangle
。 如果呼叫者想要避免在堆上分配新的Rectangle
对象,则此版本的getBounds
是非常有用的。- 参数
-
rv
- 返回值,修改为组件边界 - 结果
- RV
-
getSize
public Dimension getSize(Dimension rv)
将该组件的宽度/高度存储到“返回值” rv并返回rv 。 如果rv为null
则会分配一个新的Dimension
对象。 如果呼叫者想要避免在堆上分配新的Dimension
对象,则此版本的getSize
非常有用。- 参数
-
rv
- 返回值,修改为组件大小 - 结果
- RV
-
getLocation
public Point getLocation(Point rv)
将该组件的x,y原点存储到“返回值” rv并返回rv 。 如果rv为null
,则新分配Point
。 如果呼叫者想要避免在堆上分配新的Point
对象,则此版本的getLocation
非常有用。- 参数
-
rv
- 返回值,修改为组件位置 - 结果
- RV
-
isOpaque
public boolean isOpaque()
如果此组件完全不透明,则返回true,默认情况下返回false。不透明组件涂覆其矩形区域内的每个像素。 非不透明组件仅绘制其一些像素,允许其下方的像素“显示”。 因此,不完全绘制其像素的组件提供了一定程度的透明度。
保证总是完全绘制内容的子类应该覆盖此方法并返回true。
- 结果
- 如果此组件完全不透明,则为true
- 从以下版本开始:
- 1.2
- 另请参见:
-
isLightweight()
-
isLightweight
public boolean isLightweight()
轻量级组件没有本机工具包对等体。Component
和Container
子Component
Container
,除Button
或Scrollbar
这样的封装中定义的子类外。 所有的Swing组件都是轻量级的。如果此组件不可显示,则该方法将始终返回
false
,因为无法确定不可显示组件的重量。- 结果
- 如果此组件具有轻量级对等体,则为true; 如果它有一个本机对等体或没有对等体,则为false
- 从以下版本开始:
- 1.2
- 另请参见:
-
isDisplayable()
-
setPreferredSize
public void setPreferredSize(Dimension preferredSize)
将此组件的首选大小设置为常量值。 后续调用getPreferredSize
将始终返回此值。 将首选大小设置为null
可恢复默认行为。- 参数
-
preferredSize
- 新的首选大小,或null - 从以下版本开始:
- 1.5
- 另请参见:
-
getPreferredSize()
,isPreferredSizeSet()
-
isPreferredSizeSet
public boolean isPreferredSizeSet()
如果首选大小设置为非null
值,则返回true,否则返回false。- 结果
-
如果已经使用非空值调用了
setPreferredSize
则setPreferredSize
true。 - 从以下版本开始:
- 1.5
-
getPreferredSize
public Dimension getPreferredSize()
获取此组件的首选大小。- 结果
- 指示该组件的首选尺寸的维度对象
- 另请参见:
-
getMinimumSize()
,LayoutManager
-
preferredSize
@Deprecated public Dimension preferredSize()
已过时。 从JDK 1.1版开始,替换为getPreferredSize()
。返回组件的首选大小。- 结果
- 该组件的首选尺寸
-
setMinimumSize
public void setMinimumSize(Dimension minimumSize)
将此组件的最小大小设置为常量值。 后续调用getMinimumSize
将始终返回此值。 将最小大小设置为null
可恢复默认行为。- 参数
-
minimumSize
- 这个组件的最小尺寸 - 从以下版本开始:
- 1.5
- 另请参见:
-
getMinimumSize()
,isMinimumSizeSet()
-
isMinimumSizeSet
public boolean isMinimumSizeSet()
返回是否使用非空值调用了setMinimumSize
。- 结果
-
如果已使用非空值调用了
setMinimumSize
则setMinimumSize
true。 - 从以下版本开始:
- 1.5
-
getMinimumSize
public Dimension getMinimumSize()
获取此组件的最小大小。- 结果
- 指示该组件的最小尺寸的维度对象
- 另请参见:
-
getPreferredSize()
,LayoutManager
-
minimumSize
@Deprecated public Dimension minimumSize()
已过时。 从JDK 1.1版开始,由getMinimumSize()
替代。返回此组件的最小大小。- 结果
- 该组件的最小尺寸
-
setMaximumSize
public void setMaximumSize(Dimension maximumSize)
将此组件的最大大小设置为常量值。 后续调用getMaximumSize
将始终返回此值。 将最大大小设置为null
可恢复默认行为。- 参数
-
maximumSize
- 一个Dimension
其中包含所需的最大允许大小 - 从以下版本开始:
- 1.5
- 另请参见:
-
getMaximumSize()
,isMaximumSizeSet()
-
isMaximumSizeSet
public boolean isMaximumSizeSet()
如果最大大小设置为非null
值,则返回true,否则返回false。- 结果
-
如果
maximumSize
为非null
,null
true,否则为false - 从以下版本开始:
- 1.5
-
getMaximumSize
public Dimension getMaximumSize()
获取此组件的最大大小。- 结果
- 指示该组件的最大大小的维度对象
- 另请参见:
-
getMinimumSize()
,getPreferredSize()
,LayoutManager
-
getAlignmentX
public float getAlignmentX()
返回沿x轴的对齐方式。 这指定了组件如何相对于其他组件进行对齐。 该值应为0到1之间的数字,其中0表示原点对齐,1对齐最远离原点,0.5为中心等。- 结果
- 该组件的水平对齐
-
getAlignmentY
public float getAlignmentY()
返回沿着y轴的对齐。 这指定了组件如何相对于其他组件进行对齐。 该值应为0到1之间的数字,其中0表示原点对齐,1对齐最远离原点,0.5为中心等。- 结果
- 该组件的垂直对齐
-
getBaseline
public int getBaseline(int width, int height)
返回基线。 基线是从组件的顶部测量的。 该方法主要用于LayoutManager
s,以使组件沿其基线对齐。 返回值小于0表示此组件没有合理的基线,并且LayoutManager
s不应该将该组件对准其基线。默认实现返回-1。 支持基准的子类应适当地覆盖。 如果返回值> = 0,则组件具有任何大小的有效基准> =最小大小,而
getBaselineResizeBehavior
可用于确定基准如何随大小而变化。- 参数
-
width
- 获取基准的宽度 -
height
- 获取基准的高度 - 结果
- 基线或<0表示没有合理的基线
- 异常
-
IllegalArgumentException
- 如果宽度或高度<0 - 从以下版本开始:
- 1.6
- 另请参见:
-
getBaselineResizeBehavior()
,FontMetrics
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior()
返回一个枚举,指示组件的基线如何随着大小的变化而改变。 此方法主要用于布局管理器和GUI构建器。默认实现返回
BaselineResizeBehavior.OTHER
。 具有基线的子类应适当覆盖。 子类不应该返回null
; 如果基线不能计算返回BaselineResizeBehavior.OTHER
。 呼叫者应首先使用getBaseline
询问基线,如果返回值> = 0,则使用此方法。 该方法可以返回BaselineResizeBehavior.OTHER
以外的值,即使getBaseline
返回小于0的值。- 结果
- 一个枚举,指示基准随着组件大小的变化而改变
- 从以下版本开始:
- 1.6
- 另请参见:
-
getBaseline(int, int)
-
doLayout
public void doLayout()
提示布局管理器布局此组件。 当组件(更具体地说,容器))被验证时,这通常被调用。- 另请参见:
-
validate()
,LayoutManager
-
layout
@Deprecated public void layout()
已过时。 从JDK 1.1版开始,替换为doLayout()
。
-
validate
public void validate()
验证此组件。验证术语的含义由本类的祖先定义。 详见
Container.validate()
。- 从以下版本开始:
- 1.0
- 另请参见:
-
invalidate()
,doLayout()
,LayoutManager
,Container.validate()
-
invalidate
public void invalidate()
无效此组件及其祖先。默认情况下,到层次结构最顶层容器的组件的所有祖先被标记为无效。 如果
java.awt.smartInvalidate
系统属性设置为true
,则无效在该组件的最近的验证根上停止。 标记容器无效表示容器需要布置。当任何与布局相关的信息发生变化(例如,设置组件的界限,或将组件添加到容器中)时,将自动调用此方法。
这种方法可能经常被调用,所以它应该能够快速运行。
- 从以下版本开始:
- 1.0
- 另请参见:
-
validate()
,doLayout()
,LayoutManager
,Container.isValidateRoot()
-
revalidate
public void revalidate()
将组件层次结构重新验证为最接近的验证根。该方法首先使从该组件开始到最近的验证根的组件层次化。 之后,从最近的验证根开始验证组件层次结构。
这是一种方便的方法,可以帮助应用程序开发人员避免手动查找有效的根。 基本上,这相当于首先在该组件上调用
invalidate()
方法,然后在最近的验证根上调用validate()
方法。- 从以下版本开始:
- 1.7
- 另请参见:
-
Container.isValidateRoot()
-
getGraphics
public Graphics getGraphics()
为此组件创建图形上下文。 如果此组件当前不可显示,此方法将返回null
。- 结果
-
该组件的图形上下文,如果没有,
null
- 从以下版本开始:
- 1.0
- 另请参见:
-
paint(java.awt.Graphics)
-
getFontMetrics
public FontMetrics getFontMetrics(Font font)
获取指定字体的字体指标。 警告:由于字体指标受到FontRenderContext
的影响,并且此方法不提供此方法,它只能返回默认渲染上下文的度量标准,如果正在使用270467271938838功能,则可能与组件上呈现时使用的不一致 。 相反,可以通过在Font
类中调用Graphics.getFontMetrics()
或文本测量API来获取渲染时的度量。- 参数
-
font
- 要获取字体指标的字体 - 结果
-
font
的字体指标 - 从以下版本开始:
- 1.0
- 另请参见:
-
getFont()
,ComponentPeer.getFontMetrics(Font)
,Toolkit.getFontMetrics(Font)
-
setCursor
public void setCursor(Cursor cursor)
将光标图像设置为指定的光标。 当此组件的contains
方法对于当前光标位置返回true时,将显示此光标图像,此组件可见,可显示和启用。 设置Container
的光标导致该光标显示在所有容器的子组件中,除了具有非null
光标的那些。如果Java平台实现和/或本地系统不支持更改鼠标光标的形状,该方法可能没有视觉效果。
- 参数
-
cursor
- 由Cursor
类定义的常量Cursor
; 如果此参数为null
则此组件将继承其父项的游标 - 从以下版本开始:
- 1.1
- 另请参见:
-
isEnabled()
,isShowing()
,getCursor()
,contains(int, int)
,Toolkit.createCustomCursor(java.awt.Image, java.awt.Point, java.lang.String)
,Cursor
-
getCursor
public Cursor getCursor()
获取组件中的光标集。 如果组件没有设置游标,则返回其父项的游标。 如果在整个层次结构中没有设置游标,则返回Cursor.DEFAULT_CURSOR
。- 结果
- 该组件的光标
- 从以下版本开始:
- 1.1
- 另请参见:
-
setCursor(java.awt.Cursor)
-
isCursorSet
public boolean isCursorSet()
返回是否已经为此组件显式设置了游标。 如果此方法返回false
,则此Component将从祖先继承其游标。- 结果
-
true
如果游标已为此组件显式设置; 否则为false
。 - 从以下版本开始:
- 1.4
-
paint
public void paint(Graphics g)
涂抹这个组件。当组件的内容应该被绘制时,调用该方法; 例如当组件首次显示或损坏并需要修理时。
Graphics
参数中的剪辑矩形设置为需要绘制的区域。 覆盖此方法的子类Component
不需要调用super.paint(g)
。出于性能原因,零宽度或高度的
Component
s在首次显示时不被认为需要喷漆,也不被认为需要修理。注意 :有关由AWT和Swing实现的涂漆机制的更多信息,包括有关如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
- 参数
-
g
- 用于绘画的图形上下文 - 从以下版本开始:
- 1.0
- 另请参见:
-
update(java.awt.Graphics)
-
update
public void update(Graphics g)
更新此组件。如果此组件不是轻量级组件,AWT会调用
update
方法来响应对repaint
的调用。 您可以假设背景不被清除。该
update
的方法Component
调用此组件的paint
方法来重绘此组件。 该方法通常被需要为响应repaint
的调用做额外工作的子类覆盖。 要覆盖此方法的组件子类应直接从其update
方法调用super.update(g)
或调用paint(g)
。图形上下文的原点,其(
0
,0
)坐标点,是该组件的左上角。 图形上下文的剪切区域是该组件的边界矩形。注意 :有关AWT和Swing实现的绘画机制的更多信息,包括如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
- 参数
-
g
- 用于更新的指定上下文 - 从以下版本开始:
- 1.0
- 另请参见:
-
paint(java.awt.Graphics)
,repaint()
-
paintAll
public void paintAll(Graphics g)
绘制此组件及其所有子组件。图形上下文的原点,其(
0
,0
)坐标点,是该组件的左上角。 图形上下文的剪切区域是该组件的边界矩形。- 参数
-
g
- 用于绘画的图形上下文 - 从以下版本开始:
- 1.0
- 另请参见:
-
paint(java.awt.Graphics)
-
repaint
public void repaint()
重新编辑这个组件。如果此组件是轻量级组件,则此方法将尽快调用此组件的
paint
方法。 否则,该方法会尽快调用此组件的update
方法。注意 :有关AWT和Swing实施的绘画机制的更多信息,包括有关如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
- 从以下版本开始:
- 1.0
- 另请参见:
-
update(Graphics)
-
repaint
public void repaint(long tm)
重写组件。 如果此组件是轻量级组件,这将导致一个呼叫paint
内tm
毫秒。注意 :有关AWT和Swing实施的绘画机制的更多信息,包括有关如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
- 参数
-
tm
- 更新前的最大时间(以毫秒为单位) - 从以下版本开始:
- 1.0
- 另请参见:
-
paint(java.awt.Graphics)
,update(Graphics)
-
repaint
public void repaint(int x, int y, int width, int height)
重新绘制该组件的指定矩形。如果此组件是轻量级组件,则此方法将尽快调用此组件的
paint
方法。 否则,该方法会尽快调用此组件的update
方法。注意 :有关AWT和Swing实施的绘画机制的更多信息,包括有关如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
- 参数
-
x
- x坐标 -
y
- y坐标 -
width
- 宽度 -
height
- 高度 - 从以下版本开始:
- 1.0
- 另请参见:
-
update(Graphics)
-
repaint
public void repaint(long tm, int x, int y, int width, int height)
在tm
毫秒内重新绘制该组件的指定矩形。如果此组件是轻量级组件,则此方法将调用此组件的
paint
方法。 否则,此方法将调用此组件的update
方法。注意 :有关AWT和Swing实施的涂漆机制的更多信息,包括有关如何编写最有效的绘画代码的信息,请参阅Painting in AWT and Swing 。
- 参数
-
tm
- 更新前的最大时间(毫秒) -
x
- x坐标 -
y
- y坐标 -
width
- 宽度 -
height
- 高度 - 从以下版本开始:
- 1.0
- 另请参见:
-
update(Graphics)
-
print
public void print(Graphics g)
打印此组件。 应用程序应该重写此方法,以便在打印之前必须进行特殊处理的组件,或者应该打印与绘制不同的组件。该方法的默认实现方法是调用
paint
方法。图形上下文的原点,其(
0
,0
)坐标点,是该组件的左上角。 图形上下文的剪切区域是该组件的边界矩形。- 参数
-
g
- 用于打印的图形上下文 - 从以下版本开始:
- 1.0
- 另请参见:
-
paint(Graphics)
-
printAll
public void printAll(Graphics g)
打印此组件及其所有子组件。图形上下文的原点,其(
0
,0
)坐标点,是该组件的左上角。 图形上下文的剪切区域是该组件的边界矩形。- 参数
-
g
- 用于打印的图形上下文 - 从以下版本开始:
- 1.0
- 另请参见:
-
print(Graphics)
-
imageUpdate
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
的值被解释为整数,以毫秒为单位给出最大重绘速率。 如果系统属性丢失或不能被解释为整数,则重绘速率是每100ms一次。的解释
x
,y
,width
,并height
参数依赖于价值infoflags
说法。- Specified by:
-
imageUpdate
在接口ImageObserver
- 参数
-
img
- 正在观察的图像 -
infoflags
- 有关详细信息,请参阅imageUpdate
-
x
- x坐标 -
y
- y坐标 -
w
- 宽度 -
h
- 高度 - 结果
-
false
如果infoflags指示图像被完全加载; 否则为true
。 - 从以下版本开始:
- 1.0
- 另请参见:
-
ImageObserver
,Graphics.drawImage(Image, int, int, Color, java.awt.image.ImageObserver)
,Graphics.drawImage(Image, int, int, java.awt.image.ImageObserver)
,Graphics.drawImage(Image, int, int, int, int, Color, java.awt.image.ImageObserver)
,Graphics.drawImage(Image, int, int, int, int, java.awt.image.ImageObserver)
,ImageObserver.imageUpdate(java.awt.Image, int, int, int, int, int)
-
createImage
public Image createImage(ImageProducer producer)
从指定的图像制作者创建图像。- 参数
-
producer
- 图像制作者 - 结果
- 图像生成
- 从以下版本开始:
- 1.0
-
createImage
public Image createImage(int width, int height)
创建一个用于双缓冲的屏幕外可绘图像。- 参数
-
width
- 指定的宽度 -
height
- 指定的高度 - 结果
-
一个可以用于双重缓冲的屏幕外可绘图像。
null
值如果组件不可显示或GraphicsEnvironment.isHeadless()
返回true
。 - 从以下版本开始:
- 1.0
- 另请参见:
-
isDisplayable()
,GraphicsEnvironment.isHeadless()
-
createVolatileImage
public VolatileImage createVolatileImage(int width, int height)
创建一个用于双缓冲的易失性的屏幕外可绘图像。- 参数
-
width
- 指定的宽度 -
height
- 指定的高度 - 结果
-
一个可以用于双重缓冲的屏幕外可绘图像。
null
值如果组件不可显示或GraphicsEnvironment.isHeadless()
返回true
。 - 从以下版本开始:
- 1.4
- 另请参见:
-
VolatileImage
,isDisplayable()
,GraphicsEnvironment.isHeadless()
-
createVolatileImage
public VolatileImage createVolatileImage(int width, int height, ImageCapabilities caps) throws AWTException
使用给定的功能创建一个易失的屏幕外可绘制图像。 由于操作系统问题,此图像的内容可能随时丢失,因此图像必须通过VolatileImage
界面进行管理。- 参数
-
width
- 指定的宽度 -
height
- 指定的高度 -
caps
- 图像功能 - 结果
-
一个VolatileImage对象,可用于管理表面内容的丢失和能力。
null
值如果组件不可显示,或GraphicsEnvironment.isHeadless()
返回true
。 - 异常
-
AWTException
- 如果无法创建具有指定功能的图像 - 从以下版本开始:
- 1.4
- 另请参见:
-
VolatileImage
-
prepareImage
public boolean prepareImage(Image image, ImageObserver observer)
准备用于在此组件上呈现的图像。 图像数据在另一个线程中被异步地下载,并且生成图像的适当的屏幕表示。- 参数
-
image
-Image
准备屏幕表示的Image
-
observer
- 正在准备好要通知的ImageObserver
对象 - 结果
-
true
如果图像已经完全准备好了; 否则为false
- 从以下版本开始:
- 1.0
-
prepareImage
public boolean prepareImage(Image image, int width, int height, ImageObserver observer)
准备一个图像,以指定的宽度和高度在此组件上渲染。图像数据在另一个线程中异步下载,并且生成图像的适当缩放的屏幕表示。
- 参数
-
image
- 为其准备屏幕表示的Image
的实例 -
width
- 所需屏幕表示的宽度 -
height
- 所需屏幕表示的高度 -
observer
- 正在准备好要通知的ImageObserver
对象 - 结果
-
true
如果图像已经完全准备好了; 否则为false
- 从以下版本开始:
- 1.0
- 另请参见:
-
ImageObserver
-
checkImage
public int checkImage(Image image, ImageObserver observer)
返回构造指定图像的屏幕表示的状态。此方法不会导致图像开始加载。 应用程序必须使用
prepareImage
方法强制加载映像。关于这种方法返回的标志的信息可以在
ImageObserver
接口的讨论中找到。- 参数
-
image
- 正在检查其状态的Image
对象 -
observer
- 当图像正在准备时要通知的ImageObserver
对象 - 结果
-
指示关于图像的什么信息当前可用的
ImageObserver
标记的按位包含 OR - 从以下版本开始:
- 1.0
- 另请参见:
-
prepareImage(Image, int, int, java.awt.image.ImageObserver)
,Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)
,ImageObserver
-
checkImage
public int checkImage(Image image, int width, int height, ImageObserver observer)
返回构造指定图像的屏幕表示的状态。此方法不会导致图像开始加载。 应用程序必须使用
prepareImage
方法强制加载映像。该
checkImage
的方法Component
要求其对等的checkImage
方法来计算标志。 如果该组件还没有对等体,则调用组件的工具包的checkImage
方法。关于这种方法返回的标志的信息可以在
ImageObserver
接口的讨论中找到。- 参数
-
image
- 正在检查其状态的Image
对象 -
width
- 要检查其状态的缩放版本的宽度 -
height
- 要检查其状态的缩放版本的高度 -
observer
- 当图像准备时要通知的ImageObserver
对象 - 结果
-
指示关于图像的什么信息当前可用的
ImageObserver
标记的按位包含 OR - 从以下版本开始:
- 1.0
- 另请参见:
-
prepareImage(Image, int, int, java.awt.image.ImageObserver)
,Toolkit.checkImage(Image, int, int, java.awt.image.ImageObserver)
,ImageObserver
-
setIgnoreRepaint
public void setIgnoreRepaint(boolean ignoreRepaint)
设置是否忽略从操作系统接收的画面消息。 这不会影响AWT在软件中生成的油漆事件,除非它们是对操作系统级油漆消息的即时响应。这是有用的,例如,如果在全屏模式下运行,希望更好的性能,或者如果使用页面翻转作为缓冲策略。
- 参数
-
ignoreRepaint
-true
如果来自操作系统的paint消息应该被忽略; 否则false
- 从以下版本开始:
- 1.4
- 另请参见:
-
getIgnoreRepaint()
,Canvas.createBufferStrategy(int)
,Window.createBufferStrategy(int)
,BufferStrategy
,GraphicsDevice.setFullScreenWindow(java.awt.Window)
-
getIgnoreRepaint
public boolean getIgnoreRepaint()
- 结果
- 是否应忽略从操作系统接收的画面消息。
- 从以下版本开始:
- 1.4
- 另请参见:
-
setIgnoreRepaint(boolean)
-
contains
public boolean contains(int x, int y)
检查此组件是否“包含”指定点,其中x
和y
被定义为相对于该组件的坐标系。- 参数
-
x
- 点的 x坐标 -
y
- 点的 y坐标 - 结果
-
true
如果点在组件内; 否则false
- 从以下版本开始:
- 1.1
- 另请参见:
-
getComponentAt(int, int)
-
inside
@Deprecated public boolean inside(int x, int y)
已过时。 从JDK 1.1版开始,由contains(int,int)替换。检查点是否在该组件内。- 参数
-
x
- 点的 x坐标 -
y
- 点的 y坐标 - 结果
-
true
如果点在组件内; 否则false
-
contains
public boolean contains(Point p)
检查此组件是否“包含”指定点,其中点的 x和 y坐标被定义为相对于该组件的坐标系。- 参数
-
p
- 重点 - 结果
-
true
如果点在组件内; 否则false
- 异常
-
NullPointerException
- 如果p
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
getComponentAt(Point)
-
getComponentAt
public Component getComponentAt(int x, int y)
确定此组件或其一个直接子组件是否包含( x , y )位置,如果是,则返回包含的组件。 这种方法只有一层深度。 如果点( x , y )位于本身具有子组件的子组件内,则不会向下查看子组件树。该
locate
的方法Component
简单地返回组件本身,如果(X,Y)坐标位置是其边界框的内部,null
否则。- 参数
-
x
- x坐标 -
y
- y坐标 - 结果
-
包含( x , y )位置的组件或子组件;
null
如果位置在该组件之外 - 从以下版本开始:
- 1.0
- 另请参见:
-
contains(int, int)
-
locate
@Deprecated public Component locate(int x, int y)
已过时。 从JDK 1.1版开始,由getComponentAt(int,int)替换。返回占据指定位置的组件(此组件或直接子组件,如果前两个都不占用该位置,则返回null)。- 参数
-
x
- 搜索组件的 x坐标 -
y
- 用于搜索组件的 y坐标 - 结果
-
指定位置的组件或
null
-
getComponentAt
public Component getComponentAt(Point p)
返回包含指定点的组件或子组件。- 参数
-
p
- 关键 - 结果
-
指定位置的组件或
null
- 从以下版本开始:
- 1.1
- 另请参见:
-
contains(int, int)
-
deliverEvent
@Deprecated public void deliverEvent(Event e)
已过时。 从JDK 1.1版开始,由dispatchEvent(AWTEvent e)
替代。- 参数
-
e
- 交付的事件
-
dispatchEvent
public final void dispatchEvent(AWTEvent e)
将事件分派到此组件或其一个子组件。 致电processEvent
然后返回为Component
启用的1.1样式的事件。- 参数
-
e
- 事件
-
postEvent
@Deprecated public boolean postEvent(Event e)
已过时。 从JDK 1.1版开始,由dispatchEvent(AWTEvent)替换。说明从接口MenuContainer
复制向事件发送一个事件。- Specified by:
-
postEvent
在接口MenuContainer
- 参数
-
e
- 发送的事件 - 结果
- 发布事件的结果
-
addComponentListener
public void addComponentListener(ComponentListener l)
- 参数
-
l
- 组件侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
ComponentEvent
,ComponentListener
,removeComponentListener(java.awt.event.ComponentListener)
,getComponentListeners()
-
removeComponentListener
public void removeComponentListener(ComponentListener l)
删除指定的组件侦听器,使其不再从此组件接收组件事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不会抛出异常并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 组件侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
ComponentEvent
,ComponentListener
,addComponentListener(java.awt.event.ComponentListener)
,getComponentListeners()
-
getComponentListeners
public ComponentListener[] getComponentListeners()
返回在此组件上注册的所有组件侦听器的数组。- 结果
-
所有这些组件的所有
ComponentListener
s或没有组件侦听器当前注册的空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addComponentListener(java.awt.event.ComponentListener)
,removeComponentListener(java.awt.event.ComponentListener)
-
addFocusListener
public void addFocusListener(FocusListener l)
当该组件获得输入焦点时,添加指定的焦点侦听器以从该组件接收焦点事件。 如果监听器l
为null
,则不会抛出异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 焦点侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
FocusEvent
,FocusListener
,removeFocusListener(java.awt.event.FocusListener)
,getFocusListeners()
-
removeFocusListener
public void removeFocusListener(FocusListener l)
删除指定的焦点侦听器,使其不再从此组件接收焦点事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不抛出任何异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 焦点侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
FocusEvent
,FocusListener
,addFocusListener(java.awt.event.FocusListener)
,getFocusListeners()
-
getFocusListeners
public FocusListener[] getFocusListeners()
返回在此组件上注册的所有焦点侦听器的数组。- 结果
-
所有这个组件的
FocusListener
s或一个空数组,如果没有组件侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addFocusListener(java.awt.event.FocusListener)
,removeFocusListener(java.awt.event.FocusListener)
-
addHierarchyListener
public void addHierarchyListener(HierarchyListener l)
添加指定的层次监听器,以便在此容器所属的层次结构更改时从此组件接收层次结构更改的事件。 如果监听器l
为null
,则不抛出任何异常,也不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 层次监听器 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyListener
,removeHierarchyListener(java.awt.event.HierarchyListener)
,getHierarchyListeners()
-
removeHierarchyListener
public void removeHierarchyListener(HierarchyListener l)
删除指定的层次监听器,使其不再从此组件接收层次结构更改的事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不抛出任何异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 层次监听器 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyListener
,addHierarchyListener(java.awt.event.HierarchyListener)
,getHierarchyListeners()
-
getHierarchyListeners
public HierarchyListener[] getHierarchyListeners()
返回在此组件上注册的所有层级监听器的数组。- 结果
-
所有这个组件的
HierarchyListener
s或一个空数组,如果没有层次结构侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addHierarchyListener(java.awt.event.HierarchyListener)
,removeHierarchyListener(java.awt.event.HierarchyListener)
-
addHierarchyBoundsListener
public void addHierarchyBoundsListener(HierarchyBoundsListener l)
添加指定的层次结构边界侦听器以在此容器所属的层次结构更改时从此组件接收层次结构边界事件。 如果监听器l
为null
,则不抛出任何异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 层次结构监听器 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyBoundsListener
,removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,getHierarchyBoundsListeners()
-
removeHierarchyBoundsListener
public void removeHierarchyBoundsListener(HierarchyBoundsListener l)
删除指定的层次结构边界监听器,使其不再从此组件接收层次结构限制事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不会抛出异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 层次结构监听器 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyBoundsListener
,addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,getHierarchyBoundsListeners()
-
getHierarchyBoundsListeners
public HierarchyBoundsListener[] getHierarchyBoundsListeners()
返回在此组件上注册的所有层次结构边界侦听器的数组。- 结果
-
所有这个组件的
HierarchyBoundsListener
s或一个空数组,如果没有层次结构HierarchyBoundsListener
侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,removeHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
-
addKeyListener
public void addKeyListener(KeyListener l)
- 参数
-
l
- 关键听众。 - 从以下版本开始:
- 1.1
- 另请参见:
-
KeyEvent
,KeyListener
,removeKeyListener(java.awt.event.KeyListener)
,getKeyListeners()
-
removeKeyListener
public void removeKeyListener(KeyListener l)
删除指定的密钥侦听器,使其不再从此组件接收密钥事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不抛出任何异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 关键听众 - 从以下版本开始:
- 1.1
- 另请参见:
-
KeyEvent
,KeyListener
,addKeyListener(java.awt.event.KeyListener)
,getKeyListeners()
-
getKeyListeners
public KeyListener[] getKeyListeners()
返回在此组件上注册的所有关键侦听器的数组。- 结果
-
所有这个组件的
KeyListener
s或一个空数组,如果没有密钥侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addKeyListener(java.awt.event.KeyListener)
,removeKeyListener(java.awt.event.KeyListener)
-
addMouseListener
public void addMouseListener(MouseListener l)
- 参数
-
l
- 鼠标监听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseListener
,removeMouseListener(java.awt.event.MouseListener)
,getMouseListeners()
-
removeMouseListener
public void removeMouseListener(MouseListener l)
删除指定的鼠标监听器,使其不再从此组件接收鼠标事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不会抛出异常并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 鼠标监听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseListener
,addMouseListener(java.awt.event.MouseListener)
,getMouseListeners()
-
getMouseListeners
public MouseListener[] getMouseListeners()
返回在此组件上注册的所有鼠标监听器的数组。- 结果
-
所有这个组件的
MouseListener
s或一个空数组,如果没有鼠标监听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addMouseListener(java.awt.event.MouseListener)
,removeMouseListener(java.awt.event.MouseListener)
-
addMouseMotionListener
public void addMouseMotionListener(MouseMotionListener l)
- 参数
-
l
- 鼠标移动侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseMotionListener
,removeMouseMotionListener(java.awt.event.MouseMotionListener)
,getMouseMotionListeners()
-
removeMouseMotionListener
public void removeMouseMotionListener(MouseMotionListener l)
删除指定的鼠标移动侦听器,使其不再从此组件接收鼠标移动事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
为null
,则不会抛出异常,并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 鼠标移动侦听器 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseMotionListener
,addMouseMotionListener(java.awt.event.MouseMotionListener)
,getMouseMotionListeners()
-
getMouseMotionListeners
public MouseMotionListener[] getMouseMotionListeners()
返回在此组件上注册的所有鼠标移动侦听器的数组。- 结果
-
所有这个组件的
MouseMotionListener
s或一个空数组,如果没有鼠标移动侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addMouseMotionListener(java.awt.event.MouseMotionListener)
,removeMouseMotionListener(java.awt.event.MouseMotionListener)
-
addMouseWheelListener
public void addMouseWheelListener(MouseWheelListener l)
添加指定的鼠标滚轮侦听器以从该组件接收鼠标滚轮事件。 容器还从子组件接收鼠标滚轮事件。有关如何调度鼠标滚轮事件的信息,请参阅
MouseWheelEvent
的类说明。如果l为
null
,则不会抛出任何异常,也不会执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 鼠标滚轮侦听器 - 从以下版本开始:
- 1.4
- 另请参见:
-
MouseWheelEvent
,MouseWheelListener
,removeMouseWheelListener(java.awt.event.MouseWheelListener)
,getMouseWheelListeners()
-
removeMouseWheelListener
public void removeMouseWheelListener(MouseWheelListener l)
删除指定的鼠标滚轮侦听器,使其不再从此组件接收鼠标滚轮事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果l为空,则不会抛出任何异常,也不会执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 鼠标滚轮侦听器。 - 从以下版本开始:
- 1.4
- 另请参见:
-
MouseWheelEvent
,MouseWheelListener
,addMouseWheelListener(java.awt.event.MouseWheelListener)
,getMouseWheelListeners()
-
getMouseWheelListeners
public MouseWheelListener[] getMouseWheelListeners()
返回在此组件上注册的所有鼠标滚轮侦听器的数组。- 结果
-
所有这个组件的
MouseWheelListener
s或一个空数组,如果没有鼠标滚轮侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addMouseWheelListener(java.awt.event.MouseWheelListener)
,removeMouseWheelListener(java.awt.event.MouseWheelListener)
-
addInputMethodListener
public void addInputMethodListener(InputMethodListener l)
添加指定的输入法侦听器以从该组件接收输入法事件。 如果一个组件还会覆盖getInputMethodRequests
以返回一个InputMethodRequests
实例,那么它只会从输入法接收输入法事件。 如果监听器l
为null
,则不会抛出任何异常,也不会执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 输入法侦听器 - 从以下版本开始:
- 1.2
- 另请参见:
-
InputMethodEvent
,InputMethodListener
,removeInputMethodListener(java.awt.event.InputMethodListener)
,getInputMethodListeners()
,getInputMethodRequests()
-
removeInputMethodListener
public void removeInputMethodListener(InputMethodListener l)
删除指定的输入法侦听器,使其不再从此组件接收输入法事件。 如果参数指定的侦听器以前未添加到此组件中,则此方法不执行任何功能,也不会抛出异常。 如果监听器l
是null
,则不会抛出异常并且不执行任何操作。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 输入法侦听器 - 从以下版本开始:
- 1.2
- 另请参见:
-
InputMethodEvent
,InputMethodListener
,addInputMethodListener(java.awt.event.InputMethodListener)
,getInputMethodListeners()
-
getInputMethodListeners
public InputMethodListener[] getInputMethodListeners()
返回在此组件上注册的所有输入法侦听器的数组。- 结果
-
所有这个组件的
InputMethodListener
s或一个空数组,如果没有输入方法侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addInputMethodListener(java.awt.event.InputMethodListener)
,removeInputMethodListener(java.awt.event.InputMethodListener)
-
getListeners
public <T extends EventListener> T[] getListeners(Class<T> listenerType)
返回当前注册为FooListener
的所有对象的数组,这个Component
。FooListener
使用addFooListener
方法进行注册。您可以使用类文字指定
listenerType
参数,如FooListener.class
。 例如,您可以使用以下代码查询Component c
的鼠标监听器:MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));
如果没有这样的侦听器存在,这个方法返回一个空数组。- 参数类型
-
T
- 侦听器的类型 - 参数
-
listenerType
- 所请求的听众的类型; 此参数应指定从java.util.EventListener
下降的接口 - 结果
-
在该组件上注册为
FooListener
的所有对象的数组,如果未添加此类侦听器,则为空数组 - 异常
-
ClassCastException
- 如果listenerType
未指定实现java.util.EventListener
的类或接口 -
NullPointerException
- 如果listenerType
是null
- 从以下版本开始:
- 1.3
- 另请参见:
-
getComponentListeners()
,getFocusListeners()
,getHierarchyListeners()
,getHierarchyBoundsListeners()
,getKeyListeners()
,getMouseListeners()
,getMouseMotionListeners()
,getMouseWheelListeners()
,getInputMethodListeners()
,getPropertyChangeListeners()
-
getInputMethodRequests
public InputMethodRequests getInputMethodRequests()
获取支持该组件输入法的请求的输入法请求处理程序。 支持现场文本输入的组件必须覆盖此方法以返回InputMethodRequests
实例。 同时,它也必须处理输入法事件。- 结果
-
该组件的输入法请求处理程序默认为
null
- 从以下版本开始:
- 1.2
- 另请参见:
-
addInputMethodListener(java.awt.event.InputMethodListener)
-
getInputContext
public InputContext getInputContext()
获取此组件使用的输入上下文,以便在此组件中输入文本时处理与输入法的通信。 默认情况下,返回用于父组件的输入上下文。 组件可以覆盖此值以返回私有输入上下文。- 结果
-
该组件使用的输入上下文;
null
如果没有上下文可以确定 - 从以下版本开始:
- 1.2
-
enableEvents
protected final void enableEvents(long eventsToEnable)
启用由指定的事件掩码参数定义的事件传递给此组件。当事件类型的侦听器添加到组件时,事件类型将自动启用。
该方法只需要由
Component
的子类调用,希望将指定的事件类型传递给processEvent
而不管是否注册了一个监听器。- 参数
-
eventsToEnable
- 定义事件类型的事件掩码 - 从以下版本开始:
- 1.1
- 另请参见:
-
processEvent(java.awt.AWTEvent)
,disableEvents(long)
,AWTEvent
-
disableEvents
protected final void disableEvents(long eventsToDisable)
禁用由指定事件掩码参数定义的事件传递给此组件。- 参数
-
eventsToDisable
- 定义事件类型的事件掩码 - 从以下版本开始:
- 1.1
- 另请参见:
-
enableEvents(long)
-
coalesceEvents
protected AWTEvent coalesceEvents(AWTEvent existingEvent, AWTEvent newEvent)
潜在地合并现有事件发布的事件。 此方法由称为EventQueue.postEvent
,如果具有相同的ID为要发布的事件的事件队列中被发现(这两个事件必须具有此组件作为它们的源)。 该方法或者返回一个替换现有事件的合并事件(并且新事件被丢弃),或者null
以表示不应该组合(将第二个事件添加到队列的末尾)。 任何一个事件参数都可以被修改和返回,因为另外一个被丢弃,除非返回null
。这个
coalesceEvents
实现合并了两种事件类型:鼠标移动(和拖动)事件以及绘制(和更新)事件。 对于鼠标移动事件,总是返回最后一个事件,导致中间移动被丢弃。 对于油漆事件,新事件合并成一个复杂的RepaintArea
在同行。 新的AWTEvent
总是返回。- 参数
-
existingEvent
- 事件已经在EventQueue
-
newEvent
- 事件发布到EventQueue
- 结果
-
合并事件,或
null
表示没有合并完成
-
processEvent
protected void processEvent(AWTEvent e)
处理在此组件上发生的事件。 默认情况下,该方法为给定类的事件调用适当的process<event type>Event
方法。请注意,如果事件参数为
null
该行为未指定,可能会导致异常。- 参数
-
e
- 事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
processComponentEvent(java.awt.event.ComponentEvent)
,processFocusEvent(java.awt.event.FocusEvent)
,processKeyEvent(java.awt.event.KeyEvent)
,processMouseEvent(java.awt.event.MouseEvent)
,processMouseMotionEvent(java.awt.event.MouseEvent)
,processInputMethodEvent(java.awt.event.InputMethodEvent)
,processHierarchyEvent(java.awt.event.HierarchyEvent)
,processMouseWheelEvent(java.awt.event.MouseWheelEvent)
-
processComponentEvent
protected void processComponentEvent(ComponentEvent e)
通过将组件事件发送到任何注册的ComponentListener
对象来处理此组件上发生的组件事件。除非为此组件启用组件事件,否则不会调用此方法。 当以下情况发生时,组件事件被启用:
- A
ComponentListener
对象通过addComponentListener
注册。 - 组件事件通过
enableEvents
启用。
请注意,如果事件参数为
null
该行为是未指定的,可能会导致异常。- 参数
-
e
- 组件事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
ComponentEvent
,ComponentListener
,addComponentListener(java.awt.event.ComponentListener)
,enableEvents(long)
- A
-
processFocusEvent
protected void processFocusEvent(FocusEvent e)
通过将这些事件发送到任何已注册的FocusListener
对象来处理发生在该组件上的焦点事件。除非为此组件启用聚焦事件,否则不会调用此方法。 当以下情况发生时,聚焦事件将被启用:
- A
FocusListener
对象通过addFocusListener
注册。 - 焦点事件通过
enableEvents
启用。
如果焦点事件,启用
Component
,目前KeyboardFocusManager
确定焦点事件是否应该被分派到注册FocusListener
对象。 如果要发送事件,KeyboardFocusManager
调用Component
的dispatchEvent
方法,这将调用Component
的processFocusEvent
方法。如果
Component
启用了焦点事件,Component
FocusEvent
作为参数调用Component
的dispatchEvent
方法将导致调用Component
的processFocusEvent
方法,而不管当前的KeyboardFocusManager
。请注意,如果事件参数为
null
则行为未指定,并可能导致异常。- 参数
-
e
- 焦点事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
FocusEvent
,FocusListener
,KeyboardFocusManager
,addFocusListener(java.awt.event.FocusListener)
,enableEvents(long)
,dispatchEvent(java.awt.AWTEvent)
- A
-
processKeyEvent
protected void processKeyEvent(KeyEvent e)
通过将这些事件发送到任何已注册的KeyListener
对象来处理此组件上发生的关键事件。除非为此组件启用了关键事件,否则不会调用此方法。 如果出现以下情况之一,则启用主要事件:
- A
KeyListener
对象通过addKeyListener
注册。 - 关键事件通过
enableEvents
启用。
如果为
Component
启用了密钥事件,则当前的KeyboardFocusManager
确定是否应将密钥事件分派到已注册的KeyListener
对象。DefaultKeyboardFocusManager
不会将关键事件发送到不是焦点所有者或未显示的Component
。从J2SE 1.4起,
KeyEvent
被重定向到焦点所有者。 详情请参阅Focus Specification 。使用
KeyEvent
作为参数调用Component
的dispatchEvent
方法将导致调用Component
的processKeyEvent
方法,而不考虑当前的KeyboardFocusManager
,只要组件显示,聚焦和启用,并且其上启用了关键事件。如果事件参数是
null
,行为是未指定的,可能会导致异常。- 参数
-
e
- 关键事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
KeyEvent
,KeyListener
,KeyboardFocusManager
,DefaultKeyboardFocusManager
,processEvent(java.awt.AWTEvent)
,dispatchEvent(java.awt.AWTEvent)
,addKeyListener(java.awt.event.KeyListener)
,enableEvents(long)
,isShowing()
- A
-
processMouseEvent
protected void processMouseEvent(MouseEvent e)
通过将鼠标事件发送到任何已注册的MouseListener
对象来处理此组件上发生的鼠标事件。除非启用此组件的鼠标事件,否则不会调用此方法。 当发生以下情况之一时,启用鼠标事件:
- A
MouseListener
对象通过addMouseListener
注册。 - 鼠标事件通过
enableEvents
启用。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 鼠标事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseListener
,addMouseListener(java.awt.event.MouseListener)
,enableEvents(long)
- A
-
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e)
通过将这些组件发送到任何已注册的MouseMotionListener
对象来处理发生在该组件上的鼠标运动事件。除非为此组件启用鼠标运动事件,否则不会调用此方法。 当发生以下其中一种情况时,启动鼠标运动事件:
- A
MouseMotionListener
对象通过addMouseMotionListener
注册。 - 通过
enableEvents
启用鼠标运动事件。
请注意,如果事件参数为
null
则行为未指定,并可能导致异常。- 参数
-
e
- 鼠标运动事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseMotionListener
,addMouseMotionListener(java.awt.event.MouseMotionListener)
,enableEvents(long)
- A
-
processMouseWheelEvent
protected void processMouseWheelEvent(MouseWheelEvent e)
通过将鼠标滚轮事件发送到任何注册的MouseWheelListener
对象来处理鼠标滚轮事件。除非为此组件启用鼠标滚轮事件,否则不会调用此方法。 当发生以下情况之一时,鼠标滚轮事件被启用:
- A
MouseWheelListener
对象通过addMouseWheelListener
注册。 - 鼠标滚轮事件通过
enableEvents
启用。
有关如何调度鼠标滚轮事件的信息,请参阅
MouseWheelEvent
的类说明。请注意,如果事件参数是
null
,行为是未指定的,可能会导致异常。- 参数
-
e
- 鼠标滚轮事件 - 从以下版本开始:
- 1.4
- 另请参见:
-
MouseWheelEvent
,MouseWheelListener
,addMouseWheelListener(java.awt.event.MouseWheelListener)
,enableEvents(long)
- A
-
processInputMethodEvent
protected void processInputMethodEvent(InputMethodEvent e)
通过将此组件发送到任何已注册的InputMethodListener
对象来处理在此组件上发生的输入方法事件。除非为此组件启用输入方法事件,否则不调用此方法。 当发生以下其中一种情况时,将启用输入法事件:
- 一个
InputMethodListener
对象通过addInputMethodListener
注册。 - 通过
enableEvents
启用输入法事件。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 输入法事件 - 从以下版本开始:
- 1.2
- 另请参见:
-
InputMethodEvent
,InputMethodListener
,addInputMethodListener(java.awt.event.InputMethodListener)
,enableEvents(long)
- 一个
-
processHierarchyEvent
protected void processHierarchyEvent(HierarchyEvent e)
通过将这些组件调度到任何已注册的HierarchyListener
对象来处理此组件上发生的层次结构事件。除非为此组件启用层次结构事件,否则不调用此方法。 当发生以下情况之一时,启用层次结构事件:
- 通过
addHierarchyListener
注册一个HierarchyListener
对象。 - 层次结构事件通过
enableEvents
启用。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 层次结构事件 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyListener
,addHierarchyListener(java.awt.event.HierarchyListener)
,enableEvents(long)
- 通过
-
processHierarchyBoundsEvent
protected void processHierarchyBoundsEvent(HierarchyEvent e)
进程层次结构通过HierarchyBoundsListener
到任何已注册的HierarchyBoundsListener
对象来限制发生在该组件上的事件。除非为该组件启用层次结构限制事件,否则不调用此方法。 当发生以下情况之一时,启用层次结构边界事件:
- 一个
HierarchyBoundsListener
对象通过addHierarchyBoundsListener
注册。 - 层次
enableEvents
事件通过enableEvents
启用。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 层次结构事件 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyBoundsListener
,addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,enableEvents(long)
- 一个
-
handleEvent
@Deprecated public boolean handleEvent(Event evt)
已过时。 从JDK版本1.1替换为processEvent(AWTEvent)。- 参数
-
evt
- 要处理的事件 - 结果
-
true
如果事件处理,否则为false
-
mouseDown
@Deprecated public boolean mouseDown(Event evt, int x, int y)
已过时。 从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseDrag
@Deprecated public boolean mouseDrag(Event evt, int x, int y)
已过时。 从JDK 1.1版开始,由processMouseMotionEvent(MouseEvent)替换。- 参数
-
evt
- 事件处理 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseUp
@Deprecated public boolean mouseUp(Event evt, int x, int y)
已过时。 从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。- 参数
-
evt
- 处理事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseMove
@Deprecated public boolean mouseMove(Event evt, int x, int y)
已过时。 从JDK 1.1版开始,由processMouseMotionEvent(MouseEvent)替换。- 参数
-
evt
- 事件处理 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseEnter
@Deprecated public boolean mouseEnter(Event evt, int x, int y)
已过时。 从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。- 参数
-
evt
- 事件处理 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseExit
@Deprecated public boolean mouseExit(Event evt, int x, int y)
已过时。 从JDK 1.1版开始,由processMouseEvent(MouseEvent)替换。- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
keyDown
@Deprecated public boolean keyDown(Event evt, int key)
已过时。 从JDK 1.1版开始,由processKeyEvent(KeyEvent)替换。- 参数
-
evt
- 处理事件 -
key
- 按键 - 结果
-
false
-
keyUp
@Deprecated public boolean keyUp(Event evt, int key)
已过时。 从JDK 1.1版开始,由processKeyEvent(KeyEvent)替换。- 参数
-
evt
- 事件处理 -
key
- 按键 - 结果
-
false
-
action
@Deprecated public boolean action(Event evt, Object what)
已过时。 从JDK 1.1版开始,应该在组件上注册此组件作为ActionListener,该组件将触发动作事件。- 参数
-
evt
- 事件处理 -
what
-what
的对象 - 结果
-
false
-
addNotify
public void addNotify()
将此Component
连接到本机屏幕资源。 该方法由工具包内部调用,不应由程序直接调用。该方法更改布局相关信息,因此使组件层次结构无效。
- 从以下版本开始:
- 1.0
- 另请参见:
-
isDisplayable()
,removeNotify()
,invalidate()
-
removeNotify
public void removeNotify()
使这个Component
通过破坏它的本机屏幕资源而不可显示。该方法在内部被工具包调用,不应该被程序直接调用。 覆盖此方法的代码应调用
super.removeNotify
作为覆盖方法的第一行。- 从以下版本开始:
- 1.0
- 另请参见:
-
isDisplayable()
,addNotify()
-
gotFocus
@Deprecated public boolean gotFocus(Event evt, Object what)
已过时。 从JDK 1.1版开始,由processFocusEvent(FocusEvent)替代。- 参数
-
evt
- 处理事件 -
what
- 对象集中 - 结果
-
false
-
lostFocus
@Deprecated public boolean lostFocus(Event evt, Object what)
已过时。 从JDK 1.1版开始,由processFocusEvent(FocusEvent)替代。- 参数
-
evt
- 处理事件 -
what
- 对象集中 - 结果
-
false
-
isFocusTraversable
@Deprecated public boolean isFocusTraversable()
已过时。 截至1.4,由isFocusable()
取代。返回这个Component
是否可以成为焦点所有者。- 结果
-
true
如果这个Component
是可Component
的; 否则为false
- 从以下版本开始:
- 1.1
- 另请参见:
-
setFocusable(boolean)
-
isFocusable
public boolean isFocusable()
返回是否可以对该Component进行聚焦。- 结果
-
true
如果此组件可true
; 否则为false
。 - 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusable(boolean)
-
setFocusable
public void setFocusable(boolean focusable)
将此组件的可聚焦状态设置为指定的值。 此值覆盖组件的默认焦点。- 参数
-
focusable
- 指示此组件是否可focusable
- 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusable()
-
setFocusTraversalKeys
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置此组件给定遍历操作的焦点遍历键。组件焦点遍历键的默认值与实现相关。 Sun建议特定本地平台的所有实现使用相同的默认值。 Windows和Unix的建议如下。 这些建议用于Sun AWT实现。
Recommended default values for a Component's focus traversal keys 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。
这种方法可能抛出
ClassCastException
如有Object
在keystrokes
不是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事件,或者如果任何键击已经映射到此组件的另一个焦点遍历操作 - 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusTraversalKeys(int)
,KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
-
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
返回此组件的给定遍历操作的聚焦遍历键集。 (有关每个键的完整说明,请参阅setFocusTraversalKeys
)如果尚未为此组件显式定义一组遍历键,则返回此组件的父级集。 如果没有为任何此组件的祖先显式定义Set,则返回当前的KeyboardFocusManager的默认Set。
- 参数
-
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS之一 - 结果
- 指定操作的AWTKeyStrokes集。 该集将不可修改,可能为空。 将永远不会返回null。
- 异常
-
IllegalArgumentException
- 如果id不是KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS中的一个 - 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
-
areFocusTraversalKeysSet
public boolean areFocusTraversalKeysSet(int id)
返回是否为此组件显式定义了给定焦点遍历操作的聚焦遍历键集。 如果此方法返回false
,则此Component将从祖先继承Set,或从当前的KeyboardFocusManager继承。- 参数
-
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中的一个 - 从以下版本开始:
- 1.4
-
setFocusTraversalKeysEnabled
public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
设置是否为此组件启用对焦遍历键。 禁用焦点遍历键的组件接收焦点遍历键的键事件。 启用焦点遍历键的组件不会看到这些事件; 而是将事件自动转换为遍历操作。- 参数
-
focusTraversalKeysEnabled
- 是否为此组件启用对焦遍历键 - 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusTraversalKeysEnabled()
,setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,getFocusTraversalKeys(int)
-
getFocusTraversalKeysEnabled
public boolean getFocusTraversalKeysEnabled()
返回是否为此组件启用焦点遍历键。 禁用焦点遍历键的组件接收焦点遍历键的键事件。 启用焦点遍历键的组件不会看到这些事件; 而是将事件自动转换为遍历操作。- 结果
- 是否为此组件启用对焦遍历键
- 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusTraversalKeysEnabled(boolean)
,setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,getFocusTraversalKeys(int)
-
requestFocus
public void requestFocus()
请求此组件获取输入焦点,并且该组件的顶级祖先成为关注的窗口。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发人员绝不能假定此组件是焦点拥有者,直到本组件收到FOCUS_GAINED事件为止。 如果此请求被拒绝,因为该组件的顶级窗口不能成为关注的窗口,则请求将被记住,并且将在窗口稍后被用户关注时被授予。该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner()
。由于此方法的重点行为与平台有关,因此强烈建议开发人员尽可能使用
requestFocusInWindow
。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不调用
Component
的其他requestFocus
方法。
-
requestFocus
public void requestFocus(FocusEvent.Cause cause)
由于cause
,该组件获得输入焦点,并且该组件的顶级祖先成为关注的窗口。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发人员绝不能假定此组件是焦点拥有者,直到本组件收到FOCUS_GAINED事件为止。焦点请求效果还可能取决于提供的原因值。 如果该请求成功,
FocusEvent
生成的FocusEvent
将收到指定为方法参数的原因值。 如果此请求被拒绝,因为该组件的顶级窗口不能成为关注的窗口,则请求将被记住,并且将在窗口稍后被用户关注时被授予。该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner()
。由于此方法的重点行为与平台有关,因此强烈建议开发人员尽可能使用
requestFocusInWindow(FocusEvent.Cause)
。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用
Component
的其他requestFocus
方法。- 参数
-
cause
- 要求焦点的原因 - 从以下版本开始:
- 9
- 另请参见:
-
FocusEvent
,FocusEvent.Cause
,requestFocusInWindow(FocusEvent.Cause)
,FocusEvent
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
requestFocus
protected boolean requestFocus(boolean temporary)
要求这个Component
得到输入焦点,而这个Component
的顶级祖先成为焦点Window
。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发者绝不能假定该组件是焦点所有者,直到该组件收到FOCUS_GAINED事件为止。 如果此请求被拒绝,因为该组件的顶级窗口不能成为关注的窗口,则该请求将被记住,并且将在窗口稍后被用户关注时被授予。此方法返回一个布尔值。 如果返回
false
,请求保证失败 。 如果返回true
,则除非被否决, 否则请求将成功, 否则在本地窗口系统授予请求之前会发生特殊事件,例如组件对等体的处理。 同样,当返回值为true
表示请求可能成功时,开发人员不能假定该组件是焦点所有者,直到该组件收到FOCUS_GAINED事件为止。该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner
。由于此方法的重点行为与平台有关,因此强烈建议开发人员尽可能使用
requestFocusInWindow
。将尽一切努力确保由此请求产生的
FocusEvent
s将具有指定的临时值。 但是,由于指定任意临时状态在所有本机窗口系统上可能无法实现,所以只有轻型Component
才能保证此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(如Swing)的钩子而存在。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用
Component
的其他requestFocus
方法。- 参数
-
temporary
- 如果焦点更改是临时的,例如当窗口失去焦点时,temporary
true; 有关临时焦点变化的更多信息,请参阅Focus Specification - 结果
-
false
如果焦点更改请求保证失败;true
如果有可能成功 - 从以下版本开始:
- 1.4
- 另请参见:
-
FocusEvent
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
requestFocus
protected boolean requestFocus(boolean temporary, FocusEvent.Cause cause)
由于cause
,这个Component
得到了输入焦点,而这个Component
的顶级祖先成为焦点Window
。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发者绝不能假定该组件是焦点所有者,直到该组件收到FOCUS_GAINED事件为止。 如果此请求被拒绝,因为该组件的顶级窗口不能成为关注的窗口,则该请求将被记住,并且将在窗口稍后被用户关注时被授予。此方法返回一个布尔值。 如果返回
false
,请求保证失败 。 如果返回true
, 除非被否决, 否则请求将成功, 否则会在本地窗口系统授予请求之前发生特殊事件,例如处理组件的对等体。 同样,当返回值为true
表示请求可能成功时,开发人员不能假定该组件是焦点所有者,直到该组件接收到FOCUS_GAINED事件为止。焦点请求效果还可能取决于提供的原因值。 如果此请求成功,结果中生成的{FocusEvent}将会收到指定为该方法参数的原因值。
该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner
。由于这种方法的重点行为是平台依赖性的,所以强烈建议开发人员尽可能使用
requestFocusInWindow
。将尽一切努力确保由此请求产生的
FocusEvent
s将具有指定的临时值。 但是,由于指定任意临时状态在所有本机窗口系统上可能无法实现,所以只有轻量级的Component
可以保证此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(如Swing)的钩子而存在。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不调用
Component
的其他requestFocus
方法。- 参数
-
temporary
- 如果焦点更改是临时的,例如当窗口失去焦点时,temporary
true; 有关临时焦点变化的更多信息,请参阅Focus Specification -
cause
- 要求焦点的原因 - 结果
-
false
如果焦点更改请求保证失败;true
如果有可能成功 - 从以下版本开始:
- 9
- 另请参见:
-
FocusEvent
,FocusEvent.Cause
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
requestFocusInWindow
public boolean requestFocusInWindow()
要求此组件获取输入焦点,如果此组件的顶级祖先已经是关注的窗口。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发人员绝不能假定此组件是焦点拥有者,直到本组件收到FOCUS_GAINED事件为止。此方法返回一个布尔值。 如果返回
false
,则请求将保证失败 。 如果返回true
, 除非被否决, 否则请求将成功, 否则 ,在本地窗口系统授予请求之前,会发生特殊事件(如组件对等体的处理)。 同样,当返回值为true
表示请求可能成功时,开发人员不能假定此组件是焦点所有者,直到此组件收到FOCUS_GAINED事件为止。该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner()
。该方法的重点行为可以跨平台统一实现,因此,强烈建议开发人员尽可能地使用此方法
requestFocus
。 依赖于requestFocus
代码可能会在不同平台上展示不同的焦点行为。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用
Component
的其他requestFocus
方法。- 结果
-
false
如果焦点更改请求保证失败;true
如果有可能成功 - 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
,FocusEvent
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
requestFocusInWindow
public boolean requestFocusInWindow(FocusEvent.Cause cause)
由于cause
的原因,该组件获得输入焦点,如果此组件的顶级祖先已经是关注的窗口。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发人员绝不能假定此组件是焦点拥有者,直到本组件收到FOCUS_GAINED事件为止。此方法返回一个布尔值。 如果返回
false
,请求保证失败 。 如果返回true
,则除非被否决, 否则请求将成功, 否则在本地窗口系统授予请求之前,会发生特殊事件(例如组件对等体的处理)。 同样,当返回值为true
表示请求可能成功时,开发人员不能假定此组件是焦点所有者,直到此组件收到FOCUS_GAINED事件为止。焦点请求效果还可能取决于提供的原因值。 如果该请求成功,
FocusEvent
生成的FocusEvent
将收到指定为该方法参数的原因值。该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner()
。这种方法的重点行为可以跨平台实现,因此,强烈建议开发人员尽可能地使用这种方法超过
requestFocus(FocusEvent.Cause)
。 依赖于requestFocus(FocusEvent.Cause)
代码可能会在不同平台上展示不同的焦点行为。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用
Component
的其他requestFocus
方法。- 参数
-
cause
- 要求焦点的原因 - 结果
-
false
如果焦点更改请求保证失败;true
如果有可能成功 - 从以下版本开始:
- 9
- 另请参见:
-
requestFocus(FocusEvent.Cause)
,FocusEvent
,FocusEvent.Cause
,FocusEvent
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
requestFocusInWindow
protected boolean requestFocusInWindow(boolean temporary)
要求这个Component
得到输入焦点,如果这个Component
的顶级祖先已经是焦点Window
。 该组件必须是可显示的,可聚焦的,可见的,并且所有的祖先(除了顶级窗口除外)必须对于被授予的请求可见。 将竭尽全力尊重这一要求; 然而,在某些情况下,这可能是不可能的。 开发者绝不能假定该组件是焦点所有者,直到该组件收到FOCUS_GAINED事件为止。此方法返回一个布尔值。 如果返回
false
,则请求将被保证失败 。 如果返回true
,则除非被否决, 否则请求将成功, 否则在本地窗口系统授予请求之前,会发生特殊事件(如组件对等体的处理)。 同样,当返回值为true
表示请求可能成功时,开发人员不能假定该组件是焦点所有者,直到该组件接收到FOCUS_GAINED事件为止。该方法无法用于将焦点所有者设置为无任何组件。 改用
KeyboardFocusManager.clearGlobalFocusOwner
。这种方法的重点行为可以跨平台实现,因此,强烈建议开发人员在可能的情况下使用该方法超过
requestFocus
。 依赖于requestFocus
代码可能会在不同的平台上显示不同的焦点行为。将尽一切努力确保由此请求产生的
FocusEvent
s将具有指定的临时值。 但是,由于指定任意临时状态在所有本机窗口系统上可能无法实现,因此只能为轻量级组件确保此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(如Swing)的钩子而存在。注意:并非所有的焦点传输都是通过调用此方法。 因此,组件可以接收焦点,而不会调用
Component
的其他requestFocus
方法。- 参数
-
temporary
- 如果焦点更改是临时的,例如当窗口失去焦点时,temporary
true; 有关临时焦点变化的更多信息,请参阅Focus Specification - 结果
-
false
如果焦点改变请求被保证失败;true
如果有可能成功 - 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
,FocusEvent
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
getFocusCycleRootAncestor
public Container getFocusCycleRootAncestor()
返回作为该组件焦点遍历循环的焦点循环根的容器。 每个焦点遍历循环只有一个焦点循环根,而不是一个容器的每个组件只属于单个焦点遍历循环。 作为焦点循环根的容器属于两个循环:一个根据容器本身,一个根据容器最近的聚焦循环根祖先。 对于这样的容器,此方法将返回Container最近的focus-cycle-roots祖先。- 结果
- 该组件最近的焦点循环根祖先
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.isFocusCycleRoot()
-
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)
返回指定的Container是否是此组件焦点遍历周期的焦点循环根。 每个焦点遍历循环只有一个焦点循环根,而不是一个容器的每个组件只属于单个焦点遍历循环。- 参数
-
container
- 要测试的容器 - 结果
-
true
如果指定的Container是此组件的焦点true
根; 否则为false
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.isFocusCycleRoot()
-
transferFocus
public void transferFocus()
将焦点转移到下一个组件,就像这个组件是焦点所有者一样。- 从以下版本开始:
- 1.1
- 另请参见:
-
requestFocus()
-
nextFocus
@Deprecated public void nextFocus()
已过时。 从JDK 1.1版开始,由transferFocus()替换。
-
transferFocusBackward
public void transferFocusBackward()
将焦点转移到以前的组件,就像这个组件是焦点所有者一样。- 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
-
transferFocusUpCycle
public void transferFocusUpCycle()
将焦点转移到一个焦点遍历周期。 通常,焦点所有者设置为此组件的焦点循环根,并将当前焦点循环根设置为新焦点所有者的焦点循环根。 但是,如果此组件的焦点循环根为Window,则焦点所有者将设置为焦点循环根的默认组件以进行对焦,并且当前焦点循环根未更改。- 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
,Container.isFocusCycleRoot()
,Container.setFocusCycleRoot(boolean)
-
hasFocus
public boolean hasFocus()
如果这个Component
是焦点所有者,则返回true
。 此方法已过时,已被替换为isFocusOwner()
。- 结果
-
true
如果这个Component
是焦点所有者;false
否则 - 从以下版本开始:
- 1.2
-
isFocusOwner
public boolean isFocusOwner()
如果这个Component
是焦点所有者,则返回true
。- 结果
-
true
如果这个Component
是焦点所有者; 否则为false
- 从以下版本开始:
- 1.4
-
add
public void add(PopupMenu popup)
将指定的弹出菜单添加到组件。- 参数
-
popup
- 要添加到组件的弹出菜单。 - 异常
-
NullPointerException
- 如果popup
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
remove(MenuComponent)
-
remove
public void remove(MenuComponent popup)
从组件中删除指定的弹出菜单。- Specified by:
-
remove
在接口MenuContainer
- 参数
-
popup
- 要删除的弹出菜单 - 从以下版本开始:
- 1.1
- 另请参见:
-
add(PopupMenu)
-
paramString
protected String paramString()
返回表示此组件状态的字符串。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 结果
- 该组件状态的字符串表示形式
- 从以下版本开始:
- 1.0
-
toString
public String toString()
返回此组件及其值的字符串表示形式。
-
list
public void list()
将该组件的列表打印到标准系统输出流System.out
。- 从以下版本开始:
- 1.0
- 另请参见:
-
System.out
-
list
public void list(PrintStream out)
将此组件的列表打印到指定的输出流。- 参数
-
out
- 打印流 - 异常
-
NullPointerException
- 如果out
是null
- 从以下版本开始:
- 1.0
-
list
public void list(PrintStream out, int indent)
从指定的缩进开始列出指定的打印流的列表。- 参数
-
out
- 打印流 -
indent
- 缩进的空格数 - 异常
-
NullPointerException
- 如果out
是null
- 从以下版本开始:
- 1.0
- 另请参见:
-
PrintStream.println(java.lang.Object)
-
list
public void list(PrintWriter out)
将列表打印到指定的打印作者。- 参数
-
out
- 要打印的打印作者 - 异常
-
NullPointerException
- 如果out
是null
- 从以下版本开始:
- 1.1
-
list
public void list(PrintWriter out, int indent)
从指定的缩进开始列出指定的打印作者的列表。- 参数
-
out
- 要打印的打印作者 -
indent
- 要缩进的空格数 - 异常
-
NullPointerException
- 如果out
是null
- 从以下版本开始:
- 1.1
- 另请参见:
-
PrintStream.println(java.lang.Object)
-
addPropertyChangeListener
public void addPropertyChangeListener(PropertyChangeListener listener)
将PropertyChangeListener添加到侦听器列表。 监听器已注册到此类的所有绑定属性,包括以下内容:- 这个组件的字体(“font”)
- 此组件的背景颜色(“背景”)
- 此组件的前景色(“前景”)
- 该组件的可重点性(“可聚焦”)
- 此组件的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 此组件的FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)
- 此组件的BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 此组件的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)
- 此组件的首选大小(“preferredSize”)
- 此组件的最小尺寸(“minimumSize”)
- 此组件的最大大小(“maximumSize”)
- 此组件的名称(“名称”)
Component
正在继承绑定属性,那么在继承属性的更改中将不会触发任何事件。如果
listener
是null
,则不会抛出异常,也不会执行任何操作。
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表中移除PropertyChangeListener。 该方法应用于删除已为此类的所有绑定属性注册的PropertyChangeListeners。如果侦听器为空,则不会抛出异常,也不会执行任何操作。
- 参数
-
listener
- 要删除的PropertyChangeListener - 另请参见:
-
addPropertyChangeListener(java.beans.PropertyChangeListener)
,getPropertyChangeListeners()
,removePropertyChangeListener(java.lang.String,java.beans.PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners()
返回在此组件上注册的所有属性更改侦听器的数组。- 结果
-
所有这个组件的
PropertyChangeListener
s或一个空数组,如果没有属性更改侦听器当前注册 - 从以下版本开始:
- 1.4
- 另请参见:
-
addPropertyChangeListener(java.beans.PropertyChangeListener)
,removePropertyChangeListener(java.beans.PropertyChangeListener)
,getPropertyChangeListeners(java.lang.String)
,PropertyChangeSupport.getPropertyChangeListeners()
-
addPropertyChangeListener
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
将PropertyChangeListener添加到特定属性的侦听器列表中。 指定的属性可能是用户定义的,也可能是以下之一:- 这个组件的字体(“font”)
- 此组件的背景颜色(“背景”)
- 此组件的前景色(“前景”)
- 该组件的可重点性(“可聚焦”)
- 此组件的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 此组件的FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)
- 此组件的BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 此组件的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)
Component
正在继承绑定属性,那么在继承属性的更改中将不会触发任何事件。如果
propertyName
或listener
为null
,则不会抛出异常并且不采取任何操作。- 参数
-
propertyName
- 上面列出的属性名称之一 -
listener
- 要添加的属性更改侦听器 - 另请参见:
-
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,getPropertyChangeListeners(java.lang.String)
,addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
-
removePropertyChangeListener
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
从侦听器列表中删除特定属性的PropertyChangeListener
。 该方法应用于删除已注册为特定绑定属性的PropertyChangeListener
。如果
propertyName
或listener
为null
,则不会抛出异常,不执行任何操作。- 参数
-
propertyName
- 有效的属性名称 -
listener
- 要删除的PropertyChangeListener - 另请参见:
-
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,getPropertyChangeListeners(java.lang.String)
,removePropertyChangeListener(java.beans.PropertyChangeListener)
-
getPropertyChangeListeners
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
返回与named属性相关联的所有侦听器的数组。- 参数
-
propertyName
- 属性名称 - 结果
-
所有的
PropertyChangeListener
s与命名的属性相关联; 如果没有添加这样的侦听器,或者如果propertyName
是null
,则返回一个空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,getPropertyChangeListeners()
-
firePropertyChange
protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
支持报告对象属性的绑定属性更改。 当绑定属性已更改时,可以调用此方法,并且将向适当的PropertyChangeEvent发送适当的PropertyChangeEvent。- 参数
-
propertyName
- 其值已更改的属性 -
oldValue
- 该物业的以前的价值 -
newValue
- 该物业的新价值
-
firePropertyChange
protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
支持报告布尔属性的绑定属性更改。 当绑定属性已更改时,可以调用此方法,并且将向适当的PropertyChangeEvent发送适当的PropertyChangeEvent。- 参数
-
propertyName
- 其值已更改的属性 -
oldValue
- 该物业的以前的价值 -
newValue
- 物业的新价值 - 从以下版本开始:
- 1.4
-
firePropertyChange
protected void firePropertyChange(String propertyName, int oldValue, int newValue)
支持报告整数属性的绑定属性更改。 当绑定属性已更改时,可以调用此方法,并且将向适当的PropertyChangeEvent发送适当的PropertyChangeEvent。- 参数
-
propertyName
- 其值已更改的属性 -
oldValue
- 该物业的以前的价值 -
newValue
- 该物业的新价值 - 从以下版本开始:
- 1.4
-
firePropertyChange
public void firePropertyChange(String propertyName, byte oldValue, byte newValue)
报告绑定属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 属性的旧值(以字节为单位) -
newValue
- 属性的新值(作为一个字节) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, char oldValue, char newValue)
报告绑定属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 属性的旧值(作为char) -
newValue
- 属性的新值(作为char) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, short oldValue, short newValue)
报告绑定属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 物业的旧价值(作为短期) -
newValue
- 物业的新价值(作为一个简短的) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, long oldValue, long newValue)
报告绑定属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 物业的旧价值(长期) -
newValue
- 物业的新价值(长期) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, float oldValue, float newValue)
报告绑定属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 属性的旧值(作为浮点数) -
newValue
- 属性的新值(作为浮点数) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, double oldValue, double newValue)
报告绑定属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 该属性的旧值(双重) -
newValue
- 该属性的新值(双重) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
setComponentOrientation
public void setComponentOrientation(ComponentOrientation o)
设置用于对该组件中的元素或文本进行排序的语言敏感方向。 语言敏感的LayoutManager
和Component
子类将使用此属性来确定如何布局和绘制组件。在施工时,组件的方向设置为
ComponentOrientation.UNKNOWN
,表示尚未明确指定。 UNKNOWN方向的行为与ComponentOrientation.LEFT_TO_RIGHT
相同。要设置单个组件的方向,请使用此方法。 要设置整个组件层次结构的方向,请使用
applyComponentOrientation
。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
o
- 要设置的方向 - 另请参见:
-
ComponentOrientation
,invalidate()
-
getComponentOrientation
public ComponentOrientation getComponentOrientation()
检索用于对该组件中的元素或文本进行排序的语言敏感方向。LayoutManager
和Component
希望尊重方向的子类应该在执行布局或绘图之前调用此方法来获取组件的方向。- 结果
- 方向来排列元素或文字
- 另请参见:
-
ComponentOrientation
-
applyComponentOrientation
public void applyComponentOrientation(ComponentOrientation orientation)
设置此组件的ComponentOrientation
属性及其中包含的所有组件。该方法更改布局相关信息,因此使组件层次结构无效。
- 参数
-
orientation
- 此组件的新组件方向及其中包含的组件。 - 异常
-
NullPointerException
- 如果orientation
为空。 - 从以下版本开始:
- 1.4
- 另请参见:
-
setComponentOrientation(java.awt.ComponentOrientation)
,getComponentOrientation()
,invalidate()
-
getAccessibleContext
public AccessibleContext getAccessibleContext()
获取AccessibleContext
与此Component
相关联。 该基类实现的方法返回null。 扩展Component
类应实现此方法以返回与该子类相关联的AccessibleContext
。- 结果
-
该
AccessibleContext
的这个Component
- 从以下版本开始:
- 1.3
-
setMixingCutoutShape
public void setMixingCutoutShape(Shape shape)
为此轻型组件设置“混合切割”形状。 该方法专门用于重磅/轻量级组件混合功能,如果应用于重量级组件,该方法将无效。 默认情况下,轻型组件被视为一个不透明矩形,用于重磅/轻量级组件混合功能。 这种方法使开发人员可以设置任意形状,从z列中轻量级组件下方的重量级组件切出。shape
参数可能具有以下值:-
null
- 恢复默认的剪切形状(矩形等于组件的getBounds()
) - 空的形状 - 不会从重量级组件中切出任何东西。 这使得这个轻量级组件有效地透明。 请注意,轻量级组件的后代仍会影响重量级组件的形状。 空形状的一个例子是
new Rectangle()
。 - 非空的形状 - 给定的形状将从重量级组件中删除。
需要“混合切割”形状的最常见的例子是玻璃板组件。
JRootPane.setGlassPane(java.awt.Component)
方法自动将空形状设置为给定玻璃板组件的“混合切割”形状。 如果开发人员需要玻璃窗格的其他“混合切割”形状(这是罕见的),则必须在将玻璃窗格安装到根窗格之后手动更改。- 参数
-
shape
- 新的“混合切割”形状 - 从以下版本开始:
- 9
-
-
-