- java.lang.Object
-
- java.awt.Component
-
- 实现的所有接口
-
ImageObserver
,MenuContainer
,Serializable
public abstract class Componentextends Objectimplements ImageObserver, MenuContainer, Serializable
组件是具有图形表示的对象,该图形表示可以显示在屏幕上并且可以与用户交互。 组件的示例是典型图形用户界面的按钮,复选框和滚动条。Component
类是非菜单相关的Abstract Window Toolkit组件的抽象超类。 也可以直接扩展类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
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
Component.AccessibleAWTComponent
用于为可访问性提供默认支持的Component的内部类。static class
Component.BaselineResizeBehavior
枚举组件基线随大小变化而变化的常见方式。protected class
Component.BltBufferStrategy
用于将屏幕外表面blitting到组件的内部类。protected class
Component.FlipBufferStrategy
用于在组件上翻转缓冲区的内部类。
-
字段汇总
字段 变量和类型 字段 描述 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 declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
构造方法摘要
构造方法 变量 构造器 描述 protected
Component()
构造一个新组件。
-
方法摘要
所有方法 实例方法 具体的方法 弃用的方法 变量和类型 方法 描述 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)
返回是否已为此Component显式定义了给定焦点遍历操作的焦点遍历键Set。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()
返回Container,它是此Component焦点遍历循环的焦点循环根。FocusListener[]
getFocusListeners()
返回在此组件上注册的所有焦点侦听器的数组。Set<AWTKeyStroke>
getFocusTraversalKeys(int id)
返回此Component的给定遍历操作的焦点遍历键Set。boolean
getFocusTraversalKeysEnabled()
返回是否为此Component启用了焦点遍历键。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(类<T> listenerType)
返回当前注册的所有对象的数组FooListener
在这个SComponent
。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)
返回已与命名属性关联的所有侦听器的数组。Dimension
getSize()
以Dimension
对象的形式返回此组件的大小。Dimension
getSize(Dimension rv)
将此组件的宽度/高度存储为“返回值” rv并返回 rv 。Toolkit
getToolkit()
获取此组件的工具包。Object
getTreeLock()
获取此组件的锁定对象(拥有线程同步监视器的对象),用于AWT组件树和布局操作。int
getWidth()
返回此组件的当前宽度。int
getX()
返回组件原点的当前x坐标。int
getY()
返回组件原点的当前y坐标。boolean
gotFocus(Event evt, Object what)
已过时。从JDK version 1.1开始,由processFocusEvent(FocusEvent)取代。boolean
handleEvent(Event evt)
已过时。截至JDK版本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 version 1.1开始,由contains(int,int)取代。void
invalidate()
使此组件及其祖先无效。boolean
isBackgroundSet()
返回是否已为此Component显式设置背景颜色。boolean
isCursorSet()
返回是否已为此Component显式设置游标。boolean
isDisplayable()
确定此组件是否可显示。boolean
isDoubleBuffered()
如果将此组件绘制到稍后复制到屏幕的屏幕外图像(“缓冲区”),则返回true。boolean
isEnabled()
确定是否启用此组件。boolean
isFocusable()
返回是否可以聚焦此Component。boolean
isFocusCycleRoot(Container container)
返回指定的Container是否是此Component的焦点遍历循环的焦点循环根。boolean
isFocusOwner()
如果此Component
是焦点所有者,则返回true
。boolean
isFocusTraversable()
已过时。截至1.4,由isFocusable()
取代。boolean
isFontSet()
返回是否已为此Component显式设置字体。boolean
isForegroundSet()
返回是否已为此Component显式设置前景色。boolean
isLightweight()
轻量级组件没有本机工具包同级。boolean
isMaximumSizeSet()
如果已将最大大小设置为非null
值,则返回true,否则返回false。boolean
isMinimumSizeSet()
返回是否已使用非null值调用setMinimumSize
。boolean
isOpaque()
如果此组件完全不透明,则返回true,默认情况下返回false。boolean
isPreferredSizeSet()
如果首选大小已设置为非null
值,则返回true,否则返回false。boolean
isShowing()
确定此组件是否显示在屏幕上。boolean
isValid()
确定此组件是否有效。boolean
isVisible()
确定当其父组件可见时此组件是否应该可见。boolean
keyDown(Event evt, int key)
已过时。从JDK version 1.1开始,由processKeyEvent(KeyEvent)取代。boolean
keyUp(Event evt, int key)
已过时。从JDK version 1.1开始,由processKeyEvent(KeyEvent)取代。void
layout()
已过时。截至JDK 1.1版,由doLayout()
取代。void
list()
将此组件的列表打印到标准系统输出流System.out
。void
list(PrintStream out)
将此组件的列表打印到指定的输出流。void
list(PrintStream out, int indent)
从指定的缩进开始将列表打印到指定的打印流。void
list(PrintWriter out)
将列表打印到指定的打印编写器。void
list(PrintWriter out, int indent)
从指定的缩进开始将列表打印到指定的打印编写器。Component
locate(int x, int y)
已过时。从JDK version 1.1开始,由getComponentAt(int,int)取代。Point
location()
已过时。截至JDK 1.1版,由getLocation()
取代。boolean
lostFocus(Event evt, Object what)
已过时。从JDK version 1.1开始,由processFocusEvent(FocusEvent)取代。Dimension
minimumSize()
已过时。截至JDK 1.1版,由getMinimumSize()
取代。boolean
mouseDown(Event evt, int x, int y)
已过时。从JDK version 1.1开始,由processMouseEvent(MouseEvent)取代。boolean
mouseDrag(Event evt, int x, int y)
已过时。从JDK version 1.1开始,由processMouseMotionEvent(MouseEvent)取代。boolean
mouseEnter(Event evt, int x, int y)
已过时。从JDK version 1.1开始,由processMouseEvent(MouseEvent)取代。boolean
mouseExit(Event evt, int x, int y)
已过时。从JDK version 1.1开始,由processMouseEvent(MouseEvent)取代。boolean
mouseMove(Event evt, int x, int y)
已过时。从JDK version 1.1开始,由processMouseMotionEvent(MouseEvent)取代。boolean
mouseUp(Event evt, int x, int y)
已过时。从JDK version 1.1开始,由processMouseEvent(MouseEvent)取代。void
move(int x, int y)
已过时。截至JDK 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 version 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()
请求此Component获取输入焦点,并且此Component的顶级祖先成为焦点Window。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
的原因请求此Component获得输入焦点,并且此Component的顶级祖先成为焦点Window。boolean
requestFocusInWindow()
如果此Component的顶级祖先已经是焦点窗口,则请求此Component获取输入焦点。protected boolean
requestFocusInWindow(boolean temporary)
请求这个Component
获得输入焦点,如果这个Component
的顶级祖先已经是重点Window
。boolean
requestFocusInWindow(FocusEvent.Cause cause)
由于cause
原因请求此Component获取输入焦点,如果此Component的顶级祖先已经是焦点窗口。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)
将此Component的可聚焦状态设置为指定值。void
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
为此Component的给定遍历操作设置焦点遍历键。void
setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
设置是否为此Component启用焦点遍历键。void
setFont(Font f)
设置此组件的字体。void
setForeground(Color c)
设置此组件的前景色。void
setIgnoreRepaint(boolean ignoreRepaint)
设置是否应忽略从操作系统接收的绘制消息。void
setLocale(Locale l)
设置此组件的区域设置。void
setLocation(int x, int y)
将此组件移动到新位置。void
setLocation(Point p)
将此组件移动到新位置。void
setMaximumSize(Dimension maximumSize)
将此组件的最大大小设置为常量值。void
setMinimumSize(Dimension minimumSize)
将此组件的最小大小设置为常量值。void
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()
, 常数字段值
-
CENTER_ALIGNMENT
public static final float CENTER_ALIGNMENT
易用性常数为getAlignmentY
和getAlignmentX
。 指定组件中心的对齐方式- 另请参见:
-
getAlignmentX()
,getAlignmentY()
, 常数字段值
-
BOTTOM_ALIGNMENT
public static final float BOTTOM_ALIGNMENT
易用性常数为getAlignmentY
。 指定组件底部的对齐方式。- 另请参见:
-
getAlignmentY()
, 常数字段值
-
LEFT_ALIGNMENT
public static final float LEFT_ALIGNMENT
易用性常数为getAlignmentX
。 指定组件左侧的对齐方式。- 另请参见:
-
getAlignmentX()
, 常数字段值
-
RIGHT_ALIGNMENT
public static final float RIGHT_ALIGNMENT
易于使用的常数为getAlignmentX
。 指定组件右侧的对齐方式。- 另请参见:
-
getAlignmentX()
, 常数字段值
-
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
对象)Frame
。- 结果
-
true
如果组件可见,否则为false
- 从以下版本开始:
- 1.0
- 另请参见:
-
setVisible(boolean)
-
getMousePosition
public Point getMousePosition() throws HeadlessException
如果Component
直接位于鼠标指针下,则返回此Component
坐标空间中鼠标指针的位置,否则返回null
。 如果Component
未在屏幕上显示,此方法返回null
即使鼠标指针是在该区域上方Component
将被显示。 如果Component
被其他Component
或本机窗口部分或完全遮挡,则仅当鼠标指针位于Component
的未遮挡部分上方时,此方法才会返回非空值。对于
Container
s,如果鼠标位于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
@Deprecatedpublic void enable()
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.
-
enable
@Deprecatedpublic void enable(boolean b)
Deprecated.As of JDK version 1.1, replaced bysetEnabled(boolean)
.启用或禁用此组件。- 参数
-
b
-true
启用此组件; 否则false
-
disable
@Deprecatedpublic void disable()
Deprecated.As of JDK version 1.1, replaced bysetEnabled(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
@Deprecatedpublic void show()
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
.
-
show
@Deprecatedpublic void show(boolean b)
Deprecated.As of JDK version 1.1, replaced bysetVisible(boolean)
.使此组件可见或不可见。- 参数
-
b
-true
使这个组件可见; 否则false
-
hide
@Deprecatedpublic void hide()
Deprecated.As of JDK version 1.1, replaced bysetVisible(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()
返回是否已为此Component显式设置前景色。 如果此方法返回false
,则此Component将从祖先继承其前景色。- 结果
-
true
如果已为此Component显式设置了前景色; 否则为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()
返回是否已为此Component显式设置背景颜色。 如果此方法返回false
,则此Component将从祖先继承其背景颜色。- 结果
-
true
如果已为此Component显式设置背景颜色; 否则为false
。 - 从以下版本开始:
- 1.4
-
getFont
public Font getFont()
获取此组件的字体。- Specified by:
-
getFont
in interfaceMenuContainer
- 结果
- 这个组件的字体; 如果尚未为此组件设置字体,则返回其父级的字体
- 从以下版本开始:
- 1.0
- 另请参见:
-
setFont(java.awt.Font)
-
setFont
public void setFont(Font f)
设置此组件的字体。此方法更改与布局相关的信息,因此使组件层次结构无效。
- 参数
-
f
- 成为此组件字体的字体; 如果此参数为null
则此组件将继承其父级的字体 - 从以下版本开始:
- 1.0
- 另请参见:
-
getFont()
,invalidate()
-
isFontSet
public boolean isFontSet()
返回是否已为此Component显式设置字体。 如果此方法返回false
,则此Component从祖先继承其字体。- 结果
-
true
如果已为此Component显式设置了字体; 否则为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
@Deprecatedpublic Point location()
Deprecated.As of JDK version 1.1, replaced bygetLocation()
.返回此组件左上角的位置。- 结果
- 该组件左上角的位置
-
setLocation
public void setLocation(int x, int y)
将此组件移动到新位置。 新位置的左上角由此组件父级坐标空间中的x
和y
参数指定。此方法更改与布局相关的信息,因此使组件层次结构无效。
- 参数
-
x
- 父级坐标空间中新位置左上角的 x坐标 -
y
- 父级坐标空间中新位置左上角的 y坐标 - 从以下版本开始:
- 1.1
- 另请参见:
-
getLocation()
,setBounds(int, int, int, int)
,invalidate()
-
move
@Deprecatedpublic void move(int x, int y)
Deprecated.As of JDK version 1.1, replaced bysetLocation(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
@Deprecatedpublic Dimension size()
Deprecated.As of JDK version 1.1, replaced bygetSize()
.以Dimension
对象的形式返回此组件的大小。- 结果
-
Dimension
对象,指示此组件的大小
-
setSize
public void setSize(int width, int height)
调整此组件的大小,使其宽度为width
,高度为height
。此方法更改与布局相关的信息,因此使组件层次结构无效。
- 参数
-
width
- 此组件的新宽度(以像素为单位) -
height
- 此组件的新高度(以像素为单位) - 从以下版本开始:
- 1.1
- 另请参见:
-
getSize()
,setBounds(int, int, int, int)
,invalidate()
-
resize
@Deprecatedpublic void resize(int width, int height)
Deprecated.As of JDK version 1.1, replaced bysetSize(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
@Deprecatedpublic void resize(Dimension d)
Deprecated.As of JDK version 1.1, replaced bysetSize(Dimension)
.调整此组件的大小,使其宽度为d.width
,高度为d.height
。- 参数
-
d
- 此组件的新大小
-
getBounds
public Rectangle getBounds()
以Rectangle
对象的形式获取此组件的边界。 边界指定此组件相对于其父组件的宽度,高度和位置。- 结果
- 一个指示此组件边界的矩形
- 另请参见:
-
setBounds(int, int, int, int)
,getLocation()
,getSize()
-
bounds
@Deprecatedpublic Rectangle bounds()
Deprecated.As of JDK version 1.1, replaced bygetBounds()
.返回此组件的边界矩形。- 结果
- 此组件的边界矩形
-
setBounds
public void setBounds(int x, int y, int width, int height)
移动并调整此组件的大小。 左上角的新位置由x
和y
指定,新大小由width
和height
指定。此方法更改与布局相关的信息,因此使组件层次结构无效。
- 参数
-
x
- 此组件的新 x -coordinate -
y
- 此组件的新 y -coordinate -
width
- 该组件的新width
-
height
- 此组件的新height
- 从以下版本开始:
- 1.1
- 另请参见:
-
getBounds()
,setLocation(int, int)
,setLocation(Point)
,setSize(int, int)
,setSize(Dimension)
,invalidate()
-
reshape
@Deprecatedpublic void reshape(int x, int y, int width, int height)
Deprecated.As of JDK version 1.1, replaced bysetBounds(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
因为它不会导致任何堆分配。- 结果
- 组件原点的当前x坐标
- 从以下版本开始:
- 1.2
-
getY
public int getY()
返回组件原点的当前y坐标。 此方法优于编写component.getBounds().y
或component.getLocation().y
因为它不会导致任何堆分配。- 结果
- 组件原点的当前y坐标
- 从以下版本开始:
- 1.2
-
getWidth
public int getWidth()
返回此组件的当前宽度。 此方法优于编写component.getBounds().width
或component.getSize().width
因为它不会导致任何堆分配。- 结果
- 此组件的当前宽度
- 从以下版本开始:
- 1.2
-
getHeight
public int getHeight()
返回此组件的当前高度。 此方法优于编写component.getBounds().height
或component.getSize().height
因为它不会导致任何堆分配。- 结果
- 此组件的当前高度
- 从以下版本开始:
- 1.2
-
getBounds
public Rectangle getBounds(Rectangle rv)
将此组件的边界存储到“返回值” rv并返回rv 。 如果rv为null
新Rectangle
分配。 如果调用者想要避免在堆上分配新的Rectangle
对象,则此版本的getBounds
非常有用。- 参数
-
rv
- 返回值,修改为组件边界 - 结果
- RV
-
getSize
public Dimension getSize(Dimension rv)
将此组件的宽度/高度存储为“返回值” rv并返回rv 。 如果rv是null
则分配新的Dimension
对象。 如果调用者想要避免在堆上分配新的Dimension
对象,则此版本的getSize
非常有用。- 参数
-
rv
- 返回值,修改为组件大小 - 结果
- RV
-
getLocation
public Point getLocation(Point rv)
将此组件的x,y原点存储到“返回值” rv中并返回rv 。 如果rv为null
新Point
分配。 如果调用者想要避免在堆上分配新的Point
对象,则此版本的getLocation
非常有用。- 参数
-
rv
- 返回值,修改为组件位置 - 结果
- RV
-
isOpaque
public boolean isOpaque()
如果此组件完全不透明,则返回true,默认情况下返回false。不透明组件绘制其矩形区域内的每个像素。 非透明组件仅绘制其部分像素,允许其下方的像素“透视”。 因此,未完全绘制其像素的组件提供了一定程度的透明度。
保证始终完全绘制其内容的子类应重写此方法并返回true。
- 结果
- 如果此组件完全不透明,则为true
- 从以下版本开始:
- 1.2
- 另请参见:
-
isLightweight()
-
isLightweight
public boolean isLightweight()
轻量级组件没有本机工具包同级。Component
和Container
子类(Component
包括此包中定义的子类,如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。- 结果
- 如果已使用非null值调用
setPreferredSize
则setPreferredSize
true。 - 从以下版本开始:
- 1.5
-
getPreferredSize
public Dimension getPreferredSize()
获取此组件的首选大小。- 结果
- 一个维度对象,指示此组件的首选大小
- 另请参见:
-
getMinimumSize()
,LayoutManager
-
preferredSize
@Deprecatedpublic Dimension preferredSize()
Deprecated.As of JDK version 1.1, replaced bygetPreferredSize()
.返回组件的首选大小。- 结果
- 组件的首选大小
-
setMinimumSize
public void setMinimumSize(Dimension minimumSize)
将此组件的最小大小设置为常量值。 对getMinimumSize
后续调用将始终返回此值。 将最小大小设置为null
将恢复默认行为。- 参数
-
minimumSize
- 此组件的新最小大小 - 从以下版本开始:
- 1.5
- 另请参见:
-
getMinimumSize()
,isMinimumSizeSet()
-
isMinimumSizeSet
public boolean isMinimumSizeSet()
返回是否已使用非null值调用setMinimumSize
。- 结果
- 如果已使用非null值调用
setMinimumSize
则setMinimumSize
true。 - 从以下版本开始:
- 1.5
-
getMinimumSize
public Dimension getMinimumSize()
获取此组件的最小大小。- 结果
- 一个维度对象,指示此组件的最小大小
- 另请参见:
-
getPreferredSize()
,LayoutManager
-
minimumSize
@Deprecatedpublic Dimension minimumSize()
Deprecated.As of JDK version 1.1, replaced bygetMinimumSize()
.返回此组件的最小大小。- 结果
- 此组件的最小大小
-
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
以沿其基线对齐组件。 返回值小于0表示此组件没有合理的基线,并且LayoutManager
应该不在此基准上对齐此组件。默认实现返回-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,请使用此方法。 即使getBaseline
返回小于0的值,此方法也可以返回BaselineResizeBehavior.OTHER
getBaseline
的值。- 结果
- 一个枚举,指示基线随组件大小的变化而变化的方式
- 从以下版本开始:
- 1.6
- 另请参见:
-
getBaseline(int, int)
-
doLayout
public void doLayout()
提示布局管理器布置此组件。 通常在验证组件(更具体地说,容器)时调用此方法。- 另请参见:
-
validate()
,LayoutManager
-
layout
@Deprecatedpublic void layout()
Deprecated.As of JDK version 1.1, replaced bydoLayout()
.
-
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
的影响,并且此方法不提供,因此它只能返回默认渲染上下文的度量,这可能与在组件上呈现时使用的度量不匹配(如果正在使用Graphics2D
功能)。 而是可以通过在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()
返回是否已为此Component显式设置游标。 如果此方法返回false
,则此Component从祖先继承其游标。- 结果
-
true
如果已为此Component显式设置了游标; 否则为false
。 - 从以下版本开始:
- 1.4
-
paint
public void paint(Graphics g)
绘制这个组件。当应该绘制组件的内容时调用此方法; 例如,当组件首次显示或损坏并需要维修时。
Graphics
参数中的剪辑矩形设置为需要绘制的区域。 覆盖此方法的子类Component
无需调用super.paint(g)
。出于性能原因,零宽度或高度的
Component
在首次显示时不被认为需要涂漆,也不认为需要修理。注意 :有关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
的调用。 重写此方法的Component子类应调用super.update(g)
,或直接从其update
方法调用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
界面管理VolatileImage
。- 参数
-
width
- 指定的宽度 -
height
- 指定的高度 -
caps
- 图像功能 - 结果
- VolatileImage对象,可用于管理表面内容丢失和功能。 所述
null
值,如果组件是不可显示或GraphicsEnvironment.isHeadless()
返回true
。 - 异常
-
AWTException
- 如果无法创建具有指定功能的图像 - 从以下版本开始:
- 1.4
- 另请参见:
-
VolatileImage
-
prepareImage
public boolean prepareImage(Image image, ImageObserver observer)
准备要在此组件上呈现的图像。 图像数据在另一个线程中异步下载,并生成图像的适当屏幕表示。- 参数
-
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在软件中生成的绘制事件,除非它们是对OS级绘制消息的即时响应。这很有用,例如,如果在全屏模式下运行并且需要更好的性能,或者如果页面翻转用作缓冲策略。
- 参数
-
ignoreRepaint
-true
如果应忽略来自操作系统的绘制消息; 否则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
@Deprecatedpublic boolean inside(int x, int y)
Deprecated.As of JDK version 1.1, replaced by 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 )位于自身具有子组件的子组件内,则它不会向下查看子组件树。如果( x , y )坐标位于其边界框内,则
locate
方法(Component
仅返回组件本身,否则返回null
。- 参数
-
x
- x坐标 -
y
- y坐标 - 结果
- 包含( x , y )位置的组件或子组件;
null
如果位置在此组件之外 - 从以下版本开始:
- 1.0
- 另请参见:
-
contains(int, int)
-
locate
@Deprecatedpublic Component locate(int x, int y)
Deprecated.As of JDK version 1.1, replaced by getComponentAt(int, int).返回占用指定位置的组件(此组件或直接子组件,如果前两个都不占用该位置,则返回null)。- 参数
-
x
- 用于搜索组件的 x坐标 -
y
- 用于搜索组件的 y坐标 - 结果
- 指定位置的组件或
null
-
getComponentAt
public Component getComponentAt(Point p)
返回包含指定点的组件或子组件。- 参数
-
p
- 重点 - 结果
- 指定位置的组件或
null
- 从以下版本开始:
- 1.1
- 另请参见:
-
contains(int, int)
-
deliverEvent
@Deprecatedpublic void deliverEvent(Event e)
Deprecated.As of JDK version 1.1, replaced bydispatchEvent(AWTEvent e)
.- 参数
-
e
- 要交付的活动
-
dispatchEvent
public final void dispatchEvent(AWTEvent e)
将事件调度到此组件或其子组件之一。 电话processEvent
返回的,已为启用的1.1类型的事件,之前Component
。- 参数
-
e
- 活动
-
postEvent
@Deprecatedpublic boolean postEvent(Event e)
Deprecated.As of JDK version 1.1, replaced by 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
,如果当前未注册任何组件侦听器,则为空数组 - 从以下版本开始:
- 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
或如果当前没有注册组件侦听器的空数组 - 从以下版本开始:
- 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
或空数组 - 从以下版本开始:
- 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
或如果当前没有注册层次结构的侦听器则为空数组 - 从以下版本开始:
- 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
或空数组 - 从以下版本开始:
- 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为null,则不抛出任何异常并且不执行任何操作。有关AWT螺纹模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
l
- 鼠标滚轮监听器。 - 从以下版本开始:
- 1.4
- 另请参见:
-
MouseWheelEvent
,MouseWheelListener
,addMouseWheelListener(java.awt.event.MouseWheelListener)
,getMouseWheelListeners()
-
getMouseWheelListeners
public MouseWheelListener[] getMouseWheelListeners()
返回在此组件上注册的所有鼠标滚轮侦听器的数组。- 结果
- 所有这个组件的
MouseWheelListener
或如果当前没有注册鼠标滚轮侦听器的空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addMouseWheelListener(java.awt.event.MouseWheelListener)
,removeMouseWheelListener(java.awt.event.MouseWheelListener)
-
addInputMethodListener
public void addInputMethodListener(InputMethodListener l)
添加指定的输入方法侦听器以从此组件接收输入方法事件。 如果组件也覆盖getInputMethodRequests
以返回InputMethodRequests
实例,则组件将仅接收来自输入方法的输入方法事件。 如果监听器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
或如果当前没有注册输入方法侦听器的空数组 - 从以下版本开始:
- 1.4
- 另请参见:
-
addInputMethodListener(java.awt.event.InputMethodListener)
,removeInputMethodListener(java.awt.event.InputMethodListener)
-
getListeners
public <T extends EventListener> T[] getListeners(类<T> listenerType)
返回当前注册的所有对象的数组FooListener
在这个SComponent
。FooListener
s使用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)
可能合并使用现有事件发布的事件。 如果在队列中找到与要发布的事件具有相同ID的事件,则此方法由EventQueue.postEvent
调用(两个事件都必须将此组件作为其源)。 此方法要么返回合并事件,该事件替换现有事件(然后丢弃新事件),要么null
以指示不应该进行组合(将第二个事件添加到队列末尾)。 可以修改并返回任一事件参数,因为除非返回null
否则将丢弃另一个事件参数。coalesceEvents
这种实现结合了两种事件类型:鼠标移动(和拖动)事件以及绘制(和更新)事件。 对于鼠标移动事件,始终返回最后一个事件,从而导致中间移动被丢弃。 对于绘制事件,新事件将合并到对等体中的复杂RepaintArea
中。 始终返回新的AWTEvent
。- 参数
-
existingEvent
- 该活动已在EventQueue
-
newEvent
- 该活动被发布到EventQueue
- 结果
- 合并的事件,或
null
表示没有完成合并
-
processEvent
protected void processEvent(AWTEvent e)
处理在此组件上发生的事件。 默认情况下,此方法为给定的事件类调用适当的process<event type>Event
方法。请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 活动 - 从以下版本开始:
- 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
对象。除非为此组件启用了组件事件,否则不会调用此方法。 发生以下任一情况时启用组件事件:
-
ComponentListener
对象是通过addComponentListener
注册。 - 组件事件通过
enableEvents
启用。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 组件事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
ComponentEvent
,ComponentListener
,addComponentListener(java.awt.event.ComponentListener)
,enableEvents(long)
-
-
processFocusEvent
protected void processFocusEvent(FocusEvent e)
进程通过将事件发送到任何已注册的FocusListener
对象来聚焦此组件上发生的事件。除非为此组件启用了焦点事件,否则不会调用此方法。 发生以下任一情况时,将启用焦点事件:
-
FocusListener
对象是通过addFocusListener
注册。 - 焦点事件通过
enableEvents
启用。
如果为
Component
启用了焦点事件,则当前的KeyboardFocusManager
确定是否应将焦点事件分派给已注册的FocusListener
对象。 如果要调度事件,则KeyboardFocusManager
调用Component
的dispatchEvent
方法,这将调用Component
的processFocusEvent
方法。如果为
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)
-
-
processKeyEvent
protected void processKeyEvent(KeyEvent e)
处理在此组件上发生的关键事件,方法是将它们分派给任何已注册的KeyListener
对象。除非为此组件启用了键事件,否则不会调用此方法。 发生以下任一情况时,将启用关键事件:
-
KeyListener
对象是通过addKeyListener
注册的。 - 关键事件通过
enableEvents
启用。
如果为
Component
启用了键事件,则当前的KeyboardFocusManager
确定是否应将键事件分派给已注册的KeyListener
对象。DefaultKeyboardFocusManager
不会将关键事件发送给不是焦点所有者或未显示的Component
。从J2SE 1.4开始,
KeyEvent
被重定向到焦点所有者。 有关详细信息,请参阅Focus Specification 。调用
Component
的dispatchEvent
方法与KeyEvent
作为参数会导致对呼叫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()
-
-
processMouseEvent
protected void processMouseEvent(MouseEvent e)
处理在此组件上发生的鼠标事件,方法是将它们分派给任何已注册的MouseListener
对象。除非为此组件启用了鼠标事件,否则不会调用此方法。 发生以下任一情况时启用鼠标事件:
-
MouseListener
对象是通过addMouseListener
注册。 - 鼠标事件通过
enableEvents
启用。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 鼠标事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseListener
,addMouseListener(java.awt.event.MouseListener)
,enableEvents(long)
-
-
processMouseMotionEvent
protected void processMouseMotionEvent(MouseEvent e)
处理在此组件上发生的鼠标移动事件,方法是将它们分派给任何已注册的MouseMotionListener
对象。除非为此组件启用了鼠标移动事件,否则不会调用此方法。 发生以下任一情况时,将启用鼠标移动事件:
-
MouseMotionListener
对象是通过addMouseMotionListener
注册。 - 鼠标运动事件通过
enableEvents
启用。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 鼠标移动事件 - 从以下版本开始:
- 1.1
- 另请参见:
-
MouseEvent
,MouseMotionListener
,addMouseMotionListener(java.awt.event.MouseMotionListener)
,enableEvents(long)
-
-
processMouseWheelEvent
protected void processMouseWheelEvent(MouseWheelEvent e)
处理在此组件上发生的鼠标滚轮事件,方法是将它们分派给任何已注册的MouseWheelListener
对象。除非为此组件启用了鼠标滚轮事件,否则不会调用此方法。 发生以下任一情况时,将启用鼠标滚轮事件:
-
MouseWheelListener
对象通过addMouseWheelListener
注册。 - 鼠标滚轮事件通过
enableEvents
启用。
有关如何调度鼠标滚轮事件的信息,请参阅
MouseWheelEvent
的类说明。请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 鼠标滚轮事件 - 从以下版本开始:
- 1.4
- 另请参见:
-
MouseWheelEvent
,MouseWheelListener
,addMouseWheelListener(java.awt.event.MouseWheelListener)
,enableEvents(long)
-
-
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
对象。除非为此组件启用了层次结构事件,否则不会调用此方法。 发生以下任一情况时,将启用层次结构事件:
-
HierarchyListener
对象是通过addHierarchyListener
注册的。 - 通过
enableEvents
启用层次结构事件。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 层次结构事件 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyListener
,addHierarchyListener(java.awt.event.HierarchyListener)
,enableEvents(long)
-
-
processHierarchyBoundsEvent
protected void processHierarchyBoundsEvent(HierarchyEvent e)
处理此组件上发生的层次结构边界事件,方法是将它们分派给任何已注册的HierarchyBoundsListener
对象。除非为此组件启用了层次结构边界事件,否则不会调用此方法。 发生以下任一情况时,将启用层次结构边界事件:
-
HierarchyBoundsListener
对象通过addHierarchyBoundsListener
注册。 - 通过
enableEvents
启用层次结构边界事件。
请注意,如果事件参数为
null
则行为未指定,可能会导致异常。- 参数
-
e
- 层次结构事件 - 从以下版本开始:
- 1.3
- 另请参见:
-
HierarchyEvent
,HierarchyBoundsListener
,addHierarchyBoundsListener(java.awt.event.HierarchyBoundsListener)
,enableEvents(long)
-
-
handleEvent
@Deprecatedpublic boolean handleEvent(Event evt)
Deprecated.As of JDK version 1.1 replaced by processEvent(AWTEvent).- 参数
-
evt
- 要处理的事件 - 结果
-
true
如果事件被处理,否则为false
-
mouseDown
@Deprecatedpublic boolean mouseDown(Event evt, int x, int y)
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseDrag
@Deprecatedpublic boolean mouseDrag(Event evt, int x, int y)
Deprecated.As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseUp
@Deprecatedpublic boolean mouseUp(Event evt, int x, int y)
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseMove
@Deprecatedpublic boolean mouseMove(Event evt, int x, int y)
Deprecated.As of JDK version 1.1, replaced by processMouseMotionEvent(MouseEvent).- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseEnter
@Deprecatedpublic boolean mouseEnter(Event evt, int x, int y)
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
mouseExit
@Deprecatedpublic boolean mouseExit(Event evt, int x, int y)
Deprecated.As of JDK version 1.1, replaced by processMouseEvent(MouseEvent).- 参数
-
evt
- 要处理的事件 -
x
- x坐标 -
y
- y坐标 - 结果
-
false
-
keyDown
@Deprecatedpublic boolean keyDown(Event evt, int key)
Deprecated.As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).- 参数
-
evt
- 要处理的事件 -
key
- 按下键 - 结果
-
false
-
keyUp
@Deprecatedpublic boolean keyUp(Event evt, int key)
Deprecated.As of JDK version 1.1, replaced by processKeyEvent(KeyEvent).- 参数
-
evt
- 要处理的事件 -
key
- 按下键 - 结果
-
false
-
action
@Deprecatedpublic boolean action(Event evt, Object what)
Deprecated.As of JDK version 1.1, should register this component as ActionListener on component which fires action events.- 参数
-
evt
- 要处理的事件 -
what
- 对象已作用 - 结果
-
false
-
addNotify
public void addNotify()
使Component
通过将其连接到本机屏幕资源来显示。 此方法由工具包在内部调用,不应由程序直接调用。此方法更改与布局相关的信息,因此使组件层次结构无效。
- 从以下版本开始:
- 1.0
- 另请参见:
-
isDisplayable()
,removeNotify()
,invalidate()
-
removeNotify
public void removeNotify()
通过销毁本机屏幕资源使此Component
显示。该方法由工具包在内部调用,不应由程序直接调用。 重写此方法的代码应调用
super.removeNotify
作为重写方法的第一行。- 从以下版本开始:
- 1.0
- 另请参见:
-
isDisplayable()
,addNotify()
-
gotFocus
@Deprecatedpublic boolean gotFocus(Event evt, Object what)
Deprecated.As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).- 参数
-
evt
- 要处理的事件 -
what
- 对象集中 - 结果
-
false
-
lostFocus
@Deprecatedpublic boolean lostFocus(Event evt, Object what)
Deprecated.As of JDK version 1.1, replaced by processFocusEvent(FocusEvent).- 参数
-
evt
- 要处理的事件 -
what
- 关注的对象 - 结果
-
false
-
isFocusTraversable
@Deprecatedpublic boolean isFocusTraversable()
Deprecated.As of 1.4, replaced byisFocusable()
.返回此Component
是否可以成为焦点所有者。- 结果
-
true
若Component
可Component
; 否则为false
- 从以下版本开始:
- 1.1
- 另请参见:
-
setFocusable(boolean)
-
isFocusable
public boolean isFocusable()
返回是否可以聚焦此Component。- 结果
-
true
如果此组件是可聚焦的; 否则为false
。 - 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusable(boolean)
-
setFocusable
public void setFocusable(boolean focusable)
将此Component的可聚焦状态设置为指定值。 此值将覆盖Component的默认可聚焦性。- 参数
-
focusable
- 指示此Component是否可聚焦 - 从以下版本开始:
- 1.4
- 另请参见:
-
isFocusable()
-
setFocusTraversalKeys
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
为此Component的给定遍历操作设置焦点遍历键。Component的焦点遍历键的默认值取决于实现。 Sun建议特定本机平台的所有实现都使用相同的默认值。 下面列出了Windows和Unix的建议。 这些建议用于Sun AWT实现。
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事件)都将被使用,并且不会被分派到任何Component。 将KEY_TYPED事件指定为映射到焦点遍历操作或将同一事件映射到多个默认焦点遍历操作是一个运行时错误。
如果为Set指定了null值,则此Component从其父级继承Set。 如果此Component的所有祖先都为Set指定了null,则使用当前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事件,或者任何击键已经映射到此Component的另一个焦点遍历操作 - 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusTraversalKeys(int)
,KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
-
getFocusTraversalKeys
public Set<AWTKeyStroke> getFocusTraversalKeys(int id)
返回此Component的给定遍历操作的焦点遍历键Set。 (有关每个密钥的完整说明,请参阅setFocusTraversalKeys
)如果尚未为此Component显式定义一组遍历键,则返回此Component的父级Set。 如果没有为任何此Component的祖先显式定义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)
返回是否已为此Component显式定义了给定焦点遍历操作的焦点遍历键Set。 如果此方法返回false
,则此Component从祖先或当前KeyboardFocusManager继承Set。- 参数
-
id
- KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS之一 - 结果
-
true
如果已为此Component明确定义了给定焦点遍历操作的焦点遍历键集; 否则为false
。 - 异常
-
IllegalArgumentException
- 如果id不是KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS或KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS之一 - 从以下版本开始:
- 1.4
-
setFocusTraversalKeysEnabled
public void setFocusTraversalKeysEnabled(boolean focusTraversalKeysEnabled)
设置是否为此Component启用焦点遍历键。 禁用焦点遍历键的组件接收焦点遍历键的键事件。 启用了焦点遍历键的组件看不到这些事件; 相反,事件会自动转换为遍历操作。- 参数
-
focusTraversalKeysEnabled
- 是否为此Component启用了焦点遍历键 - 从以下版本开始:
- 1.4
- 另请参见:
-
getFocusTraversalKeysEnabled()
,setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,getFocusTraversalKeys(int)
-
getFocusTraversalKeysEnabled
public boolean getFocusTraversalKeysEnabled()
返回是否为此Component启用了焦点遍历键。 禁用焦点遍历键的组件接收焦点遍历键的键事件。 启用了焦点遍历键的组件看不到这些事件; 相反,事件会自动转换为遍历操作。- 结果
- 是否为此Component启用了焦点遍历键
- 从以下版本开始:
- 1.4
- 另请参见:
-
setFocusTraversalKeysEnabled(boolean)
,setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
,getFocusTraversalKeys(int)
-
requestFocus
public void requestFocus()
请求此Component获取输入焦点,并且此Component的顶级祖先成为焦点Window。 此组件必须是可显示的,可聚焦的,可见的,并且其所有祖先(顶级窗口除外)必须对于要授予的请求是可见的。 将尽一切努力履行要求; 但是,在某些情况下,可能无法这样做。 在此Component收到FOCUS_GAINED事件之前,开发人员绝不能假定此Component是焦点所有者。 如果此请求被拒绝,因为此Component的顶级窗口无法成为焦点窗口,则将记住该请求,并在稍后由用户关注Window时授予该请求。此方法不能用于将焦点所有者设置为无组件。 请改用
KeyboardFocusManager.clearGlobalFocusOwner()
。由于此方法的焦点行为取决于平台,因此强烈建议开发人员尽可能使用
requestFocusInWindow
。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。
-
requestFocus
public void requestFocus(FocusEvent.Cause cause)
由于cause
的原因请求此Component获得输入焦点,并且此Component的顶级祖先成为焦点Window。 此组件必须是可显示的,可聚焦的,可见的,并且其所有祖先(顶级窗口除外)必须对于要授予的请求是可见的。 将尽一切努力履行要求; 但是,在某些情况下,可能无法这样做。 在此Component收到FOCUS_GAINED事件之前,开发人员绝不能假定此Component是焦点所有者。焦点请求效果还可以取决于提供的原因值。 如果此请求成功,则结果中生成的
FocusEvent
将接收指定为方法参数的原因值。 如果此请求被拒绝,因为此Component的顶级窗口无法成为焦点窗口,则将记住该请求,并在稍后由用户关注Window时授予该请求。此方法不能用于将焦点所有者设置为无组件。 请改用
KeyboardFocusManager.clearGlobalFocusOwner()
。由于此方法的焦点行为取决于平台,因此强烈建议开发人员尽可能使用
requestFocusInWindow(FocusEvent.Cause)
。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。- 参数
-
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
将具有指定的临时值。 但是,因为在所有本机窗口系统上可能无法实现指定任意临时状态,所以只能为轻量级Component
保证此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(例如Swing)的挂钩而存在。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。- 参数
-
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
将具有指定的临时值。 但是,因为在所有本机窗口系统上可能无法实现指定任意临时状态,所以只能为轻量级Component
保证此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(例如Swing)的挂钩而存在。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。- 参数
-
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()
如果此Component的顶级祖先已经是焦点窗口,则请求此Component获取输入焦点。 此组件必须是可显示的,可聚焦的,可见的,并且其所有祖先(顶级窗口除外)必须对于要授予的请求是可见的。 将尽一切努力履行要求; 但是,在某些情况下,可能无法这样做。 在此Component收到FOCUS_GAINED事件之前,开发人员绝不能假定此Component是焦点所有者。此方法返回一个布尔值。 如果返回
false
,则保证请求失败 。 如果返回true
,则除非被否决, 否则请求将成功,或者在本机窗口系统授予请求之前发生特殊事件(例如处置组件的对等方)。 同样,虽然返回值true
表明请求可能成功,但开发人员必须永远不要假设此Component是焦点所有者,直到此Component收到FOCUS_GAINED事件。此方法不能用于将焦点所有者设置为无组件。 请改用
KeyboardFocusManager.clearGlobalFocusOwner()
。此方法的焦点行为可以跨平台统一实现,因此强烈建议开发人员尽可能使用此方法而不是
requestFocus
。 依赖于requestFocus
代码可能在不同平台上表现出不同的焦点行为。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。- 结果
-
false
如果焦点变更请求保证失败;true
如果它可能成功 - 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
,FocusEvent
,addFocusListener(java.awt.event.FocusListener)
,isFocusable()
,isDisplayable()
,KeyboardFocusManager.clearGlobalFocusOwner()
-
requestFocusInWindow
public boolean requestFocusInWindow(FocusEvent.Cause cause)
请求cause
请求此Component获取输入焦点,如果此Component的顶级祖先已经是焦点窗口。 此组件必须是可显示的,可聚焦的,可见的,并且其所有祖先(顶级窗口除外)必须对于要授予的请求是可见的。 将尽一切努力履行要求; 但是,在某些情况下,可能无法这样做。 在此Component收到FOCUS_GAINED事件之前,开发人员绝不能假定此Component是焦点所有者。此方法返回一个布尔值。 如果返回
false
,则保证请求失败 。 如果返回true
,则除非被否决, 否则请求将成功,或者在本机窗口系统授予请求之前发生特殊事件(例如处置组件的对等方)。 同样,虽然返回值true
表示请求可能成功,但开发人员必须永远不要假设此Component是焦点所有者,直到此Component收到FOCUS_GAINED事件。焦点请求效果还可以取决于提供的原因值。 如果此请求成功,则结果中生成的
FocusEvent
将接收指定为方法参数的原因值。此方法不能用于将焦点所有者设置为无组件。 请改用
KeyboardFocusManager.clearGlobalFocusOwner()
。此方法的焦点行为可以跨平台统一实现,因此强烈建议开发人员尽可能使用此方法而不是
requestFocus(FocusEvent.Cause)
。 依赖于requestFocus(FocusEvent.Cause)
代码可能在不同平台上表现出不同的焦点行为。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。- 参数
-
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
将具有指定的临时值。 但是,因为在所有本机窗口系统上可能无法实现指定任意临时状态,所以只能为轻量级组件保证此方法的正确行为。 此方法不适用于一般用途,而是作为轻量级组件库(例如Swing)的挂钩而存在。注意:并非所有焦点传输都是通过调用此方法产生的。 这样,组件可以接收焦点没有这种或任何其他
requestFocus
的方法Component
被调用。- 参数
-
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,它是此Component焦点遍历循环的焦点循环根。 每个焦点遍历循环只有一个焦点循环根,而不是Container的每个Component只属于一个焦点遍历循环。 作为焦点循环根的容器属于两个循环:一个以Container本身为根,另一个以Container最近的焦点循环根祖先为根。 对于此类容器,此方法将返回Container最近的焦点循环根祖先。- 结果
- 这个组件最近的焦点 - 循环 - 根祖先
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.isFocusCycleRoot()
-
isFocusCycleRoot
public boolean isFocusCycleRoot(Container container)
返回指定的Container是否是此Component的焦点遍历循环的焦点循环根。 每个焦点遍历循环只有一个焦点循环根,而不是Container的每个Component只属于一个焦点遍历循环。- 参数
-
container
- 要测试的容器 - 结果
-
true
如果指定的Container是此Component的焦点true
根; 否则为false
- 从以下版本开始:
- 1.4
- 另请参见:
-
Container.isFocusCycleRoot()
-
transferFocus
public void transferFocus()
将焦点转移到下一个组件,就好像此组件是焦点所有者一样。- 从以下版本开始:
- 1.1
- 另请参见:
-
requestFocus()
-
nextFocus
@Deprecatedpublic void nextFocus()
Deprecated.As of JDK version 1.1, replaced by transferFocus().
-
transferFocusBackward
public void transferFocusBackward()
将焦点转移到上一个组件,就好像此组件是焦点所有者一样。- 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
-
transferFocusUpCycle
public void transferFocusUpCycle()
将焦点转移到一个焦点遍历循环。 通常,焦点所有者设置为此Component的焦点循环根,并且当前焦点循环根设置为新焦点所有者的焦点循环根。 但是,如果此Component的焦点循环根是Window,则焦点所有者将设置为焦点循环根的默认Component以进行焦点,并且当前焦点循环根不变。- 从以下版本开始:
- 1.4
- 另请参见:
-
requestFocus()
,Container.isFocusCycleRoot()
,Container.setFocusCycleRoot(boolean)
-
hasFocus
public boolean hasFocus()
如果此Component
是焦点所有者,则返回true
。 此方法已过时,已被isFocusOwner()
取代。- 结果
-
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添加到侦听器列表。 侦听器已注册此类的所有绑定属性,包括以下内容:- 这个组件的字体(“字体”)
- 此组件的背景颜色(“背景”)
- 此组件的前景色(“前景”)
- 这个组件的可聚焦性(“可聚焦”)
- 此Component的焦点遍历键启用状态(“focusTraversalKeysEnabled”)
- 这个组件的FORWARD_TRAVERSAL_KEYS(“forwardFocusTraversalKeys”)的集合
- 这个组件的BACKWARD_TRAVERSAL_KEYS(“backwardFocusTraversalKeys”)
- 这个组件的UP_CYCLE_TRAVERSAL_KEYS(“upCycleFocusTraversalKeys”)的集合
- 此组件的首选大小(“preferredSize”)
- 此组件的最小大小(“minimumSize”)
- 此Component的最大大小(“maximumSize”)
- 这个组件的名称(“名称”)
Component
继承绑定属性,则不会触发任何事件以响应继承属性的更改。如果
listener
是null
,则不会引发异常并且不执行任何操作。
-
removePropertyChangeListener
public void removePropertyChangeListener(PropertyChangeListener listener)
从侦听器列表中删除PropertyChangeListener。 此方法应用于删除为此类的所有绑定属性注册的PropertyChangeListener。如果listener为null,则不会抛出异常并且不执行任何操作。
- 参数
-
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添加到特定属性的侦听器列表中。 指定的属性可以是用户定义的,也可以是以下之一:- 这个组件的字体(“字体”)
- 此组件的背景颜色(“背景”)
- 此组件的前景色(“前景”)
- 这个组件的可聚焦性(“可聚焦”)
- 此Component的焦点遍历键启用状态(“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)
返回已与命名属性关联的所有侦听器的数组。- 参数
-
propertyName
- 房产名称 - 结果
- 所有与命名属性相关的
PropertyChangeListener
; 如果没有添加这样的侦听器或者如果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发送到任何已注册的PropertyChangeListeners。- 参数
-
propertyName
- 其值已更改的属性 -
oldValue
- 该物业以前的值 -
newValue
- 该物业的新价值
-
firePropertyChange
protected void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
支持报告布尔属性的绑定属性更改。 绑定属性发生更改时,可以调用此方法,并将相应的PropertyChangeEvent发送到任何已注册的PropertyChangeListeners。- 参数
-
propertyName
- 其值已更改的属性 -
oldValue
- 该物业以前的价值 -
newValue
- 该物业的新值 - 从以下版本开始:
- 1.4
-
firePropertyChange
protected void firePropertyChange(String propertyName, int oldValue, int newValue)
支持报告整数属性的绑定属性更改。 绑定属性发生更改时,可以调用此方法,并将相应的PropertyChangeEvent发送到任何已注册的PropertyChangeListeners。- 参数
-
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
- 属性的旧值(作为long) -
newValue
- 属性的新值(作为long) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, float oldValue, float newValue)
报告绑定的属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 属性的旧值(作为浮点数) -
newValue
- 属性的新值(作为float) - 从以下版本开始:
- 1.5
- 另请参见:
-
firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
-
firePropertyChange
public void firePropertyChange(String propertyName, double oldValue, double newValue)
报告绑定的属性更改。- 参数
-
propertyName
- 已更改的属性的编程名称 -
oldValue
- 属性的旧值(作为double) -
newValue
- 属性的新值(作为double) - 从以下版本开始:
- 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
-
-
-