public abstract class JComponent extends Container implements Serializable
JComponent
,必须将组件在一个层次结构的根是一个顶层容器摆动。顶级摇摆容器--如
JFrame
,
JDialog
,和
JApplet
--是专门提供其他组件,Swing组件自己涂的地方。为遏制层次,解释见
Swing Components and the Containment Hierarchy,java教程中的一部分。
JComponent
类提供的:
ComponentUI
提供。更多信息请参考java教程中的How to Set the Look and Feel。JComponent
包含所有在Accessible
接口的方法,但它实际上并没有实现接口。那是责任的个人类扩展JComponent
。putClientProperty(java.lang.Object, java.lang.Object)
和getClientProperty(java.lang.Object)
方法,可以将名字对象对任何对象,从JComponent
。JComponent
及其子类文档的默认值的某些性质。例如,JTable
文档的默认行高为16。每个JComponent
类有一个ComponentUI
将创建ComponentUI
作为其构造函数的一部分。为了提供一个独特的外观和感觉,每个ComponentUI
可以设置属性的JComponent
重新创建它。例如,一个自定义的外观和感觉,可能需要JTable
s有24行的高度。在ComponentUI
已安装文件的默认值是一个属性的值。如果您需要一个特定属性的特定值,您应该显式设置它。
在版本1.4中,重点是重新设计子系统。更多信息,见 How to Use the Focus Subsystem,java教程中的一部分。
警告: Swing是线程不安全的。更多信息见Swing's Threading Policy。
警告:序列化该类的对象与以后的Swing版本不兼容。当前的序列化支持适用于短期贮藏或RMI运行相同Swing版本的应用程序之间。为1.4,为所有JavaBeans™长期存储的支持已被添加到java.beans
包。请看XMLEncoder
。
Modifier and Type | Class and Description |
---|---|
class |
JComponent.AccessibleJComponent
用于提供访问内部类默认支持的组件。
|
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected EventListenerList |
listenerList
此组件的事件侦听器列表。
|
static String |
TOOL_TIP_TEXT_KEY
评论时显示的光标在组件,也被称为“价值尖”、“天桥”,或“天桥”标签。
|
protected ComponentUI |
ui
这个组件的外观和感觉代理。
|
static int |
UNDEFINED_CONDITION
常数所使用的一些的原料药,意味着没有条件被定义。
|
static int |
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
常用于
registerKeyboardAction 表示命令时会调用接收组件的一个祖先的聚焦组件或是本身的主要成分。
|
static int |
WHEN_FOCUSED
常用于
registerKeyboardAction 表示命令时会调用组件的焦点。
|
static int |
WHEN_IN_FOCUSED_WINDOW
常用于
registerKeyboardAction 表示命令时会调用接收组件在窗口具有焦点或是本身的主要成分。
|
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
JComponent()
JComponent 默认构造函数。
|
Modifier and Type | Method and Description |
---|---|
void |
addAncestorListener(AncestorListener listener)
寄存器
listener 这样就会收到
AncestorEvents 当它或其任何祖先移动或是有形的或无形的。
|
void |
addNotify()
通知这个组件,它现在有一个父组件。
|
void |
addVetoableChangeListener(VetoableChangeListener listener)
增加了一个
VetoableChangeListener 的监听器列表。
|
void |
computeVisibleRect(Rectangle visibleRect)
返回
Component “可见矩形矩形”-这部分可见的矩形的交集和它的所有祖先。
|
boolean |
contains(int x, int y)
给用户界面委托一个机会来定义这个组件的精确形状,为鼠标处理。
|
JToolTip |
createToolTip()
返回
JToolTip 实例应该用来显示工具提示。
|
void |
disable()
过时的。
作为JDK 1.1版本,取而代之的
java.awt.Component.setEnabled(boolean) 。
|
void |
enable()
过时的。
作为JDK 1.1版本,取而代之的
java.awt.Component.setEnabled(boolean) 。
|
void |
firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
用于报告布尔属性的绑定属性更改的支持。
|
void |
firePropertyChange(String propertyName, char oldValue, char newValue)
报告绑定的属性更改。
|
void |
firePropertyChange(String propertyName, int oldValue, int newValue)
支持整数属性的绑定属性更改的支持。
|
protected void |
fireVetoableChange(String propertyName, Object oldValue, Object newValue)
支持报告约束的属性更改。
|
ActionListener |
getActionForKeyStroke(KeyStroke aKeyStroke)
返回将执行动作注册为一个给定的键的对象。
|
ActionMap |
getActionMap()
返回用于确定什么
Action 为特定
KeyStroke 结合火灾
ActionMap 。
|
float |
getAlignmentX()
覆盖
Container.getAlignmentX 返回垂直对齐。
|
float |
getAlignmentY()
覆盖
Container.getAlignmentY 回报水平对齐。
|
AncestorListener[] |
getAncestorListeners()
返回在这个组件上注册的所有祖先侦听器的数组。
|
boolean |
getAutoscrolls()
得到
autoscrolls 财产。
|
int |
getBaseline(int width, int height)
返回基线。
|
Component.BaselineResizeBehavior |
getBaselineResizeBehavior()
返回一个枚举指示组件的尺寸的变化的基线。
|
Border |
getBorder()
返回该组件或
null 边界,如果没有边界的当前设置。
|
Rectangle |
getBounds(Rectangle rv)
商店这个组件的发展为“价值回归”
rv 返回
rv 。
|
Object |
getClientProperty(Object key)
用指定的键返回属性的值。
|
protected Graphics |
getComponentGraphics(Graphics g)
返回用于绘制该组件的图形对象。
|
JPopupMenu |
getComponentPopupMenu()
返回
JPopupMenu 指定这个组件。
|
int |
getConditionForKeyStroke(KeyStroke aKeyStroke)
返回的条件,决定是否注册行动发生在响应于指定的按键。
|
int |
getDebugGraphicsOptions()
返回图形调试的状态。
|
static Locale |
getDefaultLocale()
返回用于初始化每个JComponent的区域属性在创建默认的区域设置。
|
FontMetrics |
getFontMetrics(Font font)
获取指定
Font 的
FontMetrics 。
|
Graphics |
getGraphics()
返回这个组件的图形上下文,它可以让你在一个组件上绘制。
|
int |
getHeight()
返回此组件的当前高度。
|
boolean |
getInheritsPopupMenu()
如果Jpopupmenu的应该从父母继承返回true。
|
InputMap |
getInputMap()
返回
InputMap 时所使用的组件具有焦点。
|
InputMap |
getInputMap(int condition)
返回
InputMap ,是用在
condition 。
|
InputVerifier |
getInputVerifier()
返回此组件的输入验证。
|
Insets |
getInsets()
如果一个边界已设置该组件,返回边境的插图;否则称
super.getInsets 。
|
Insets |
getInsets(Insets insets)
返回包含此组件的插入值的
Insets 对象。
|
<T extends EventListener> |
getListeners(类<T> listenerType)
返回对象的当前注册为
FooListener s在这
JComponent 数组。
|
Point |
getLocation(Point rv)
将X、Y的起源这个组件为“价值回归”的
rv 返回
rv 。
|
Dimension |
getMaximumSize()
如果最大尺寸被设置为非
null 价值才返回。
|
Dimension |
getMinimumSize()
如果最小的尺寸被设置为非
null 价值才返回。
|
Component |
getNextFocusableComponent()
过时的。
截至1.4日,由
FocusTraversalPolicy 。
|
Point |
getPopupLocation(MouseEvent event)
返回的首选地点在该组件的坐标系统显示弹出式菜单。
|
Dimension |
getPreferredSize()
如果
preferredSize 已设置为非
null 价值才返回。
|
KeyStroke[] |
getRegisteredKeyStrokes()
返回
KeyStrokes 将发起注册的行为。
|
JRootPane |
getRootPane()
返回此组件的
JRootPane 祖先。
|
Dimension |
getSize(Dimension rv)
存储此组件的宽度/高度为“价值回归”的
rv 返回
rv 。
|
Point |
getToolTipLocation(MouseEvent event)
返回提示位置在该组件的坐标系统。
|
String |
getToolTipText()
工具提示字符串,返回已设置
setToolTipText 。
|
String |
getToolTipText(MouseEvent event)
返回作为事件工具提示字符串。
|
Container |
getTopLevelAncestor()
返回该组件的顶层的祖先(或含
Window 或
Applet ),或
null 如果该组件没有被添加到任何容器。
|
TransferHandler |
getTransferHandler()
得到
transferHandler 财产。
|
String |
getUIClassID()
返回用于查找定义看
swing.plaf.ComponentUI 类的名字,觉得这一部分的
UIDefaults 关键。
|
boolean |
getVerifyInputWhenFocusTarget()
返回值,指示输入当前的焦点所有者验证者将这个组件前,请关注所谓的。
|
VetoableChangeListener[] |
getVetoableChangeListeners()
返回所有的vetoable改变听众对这个组件注册一个数组。
|
Rectangle |
getVisibleRect()
返回
Component “可见矩形”-这部分的可见的矩形,路口
new Rectangle(0, 0, getWidth(), getHeight()) ,和它的所有祖先的可见的矩形。
|
int |
getWidth()
返回此组件的当前宽度。
|
int |
getX()
返回组件的原点的当前X坐标。
|
int |
getY()
返回组件的原点的当前坐标。
|
void |
grabFocus()
请请求该组件获得输入焦点,并且该组件的顶级祖先将成为聚焦窗口。
|
void |
hide()
过时的。
|
boolean |
isDoubleBuffered()
返回此组件是否应该使用缓冲区来绘制。
|
static boolean |
isLightweightComponent(Component c)
如果这个组件是轻量级的,也就是说,如果它没有本地窗口系统对等,则返回真的。
|
boolean |
isManagingFocus()
过时的。
为1.4,通过
Component.setFocusTraversalKeys(int, Set) 和Container.setFocusCycleRoot(boolean) 取代。
|
boolean |
isOpaque()
如果这个组件是完全不透明的,则返回真。
|
boolean |
isOptimizedDrawingEnabled()
如果这个组件可以使它的孩子们--也就是说,如果它可以保证孩子们不会重叠的话。
|
boolean |
isPaintingForPrint()
返回
true 如果这个元件上的电流操作是一个
print 操作部分。
|
protected boolean |
isPaintingOrigin()
返回
true 如果油漆引发的子组件应引起画起源于这个组件,或其祖先之一。
|
boolean |
isPaintingTile()
如果组件当前正在画一个瓷砖,则返回真。
|
boolean |
isRequestFocusEnabled()
返回
true 如果这
JComponent 应该获得焦点;否则返回
false 。
|
boolean |
isValidateRoot()
如果此方法返回true,由该组件的调用将导致后代
revalidate 这根整棵树开始被验证。
|
void |
paint(Graphics g)
由摆动调用组件调用。
|
protected void |
paintBorder(Graphics g)
绘制组件的边框。
|
protected void |
paintChildren(Graphics g)
油漆这个组件的孩子。
|
protected void |
paintComponent(Graphics g)
调用UI代理的涂料的方法,如果UI代理非
null 。
|
void |
paintImmediately(int x, int y, int w, int h)
绘制该组件中指定区域和所有与该区域重叠的子代,立即进行。
|
void |
paintImmediately(Rectangle r)
绘制指定区域。
|
protected String |
paramString()
返回该
JComponent 字符串表示形式。
|
void |
print(Graphics g)
调用此方法打印组件指定
Graphics 。
|
void |
printAll(Graphics g)
调用此方法来打印组件。
|
protected void |
printBorder(Graphics g)
打印组件的边框。
|
protected void |
printChildren(Graphics g)
打印此组件的孩子。
|
protected void |
printComponent(Graphics g)
这是在打印操作过程中调用的。
|
protected void |
processComponentKeyEvent(KeyEvent e)
处理组件本身所识别的任何关键事件。
|
protected boolean |
processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
调用过程的关键
ks 绑定的
KeyEvent
e 结果。
|
protected void |
processKeyEvent(KeyEvent e)
覆盖
processKeyEvent 处理事件。
|
protected void |
processMouseEvent(MouseEvent e)
鼠标事件发生的过程在这个部件通过派遣他们任何注册
MouseListener 对象,指的是
Component.processMouseEvent(MouseEvent) 对本方法的完整描述。
|
protected void |
processMouseMotionEvent(MouseEvent e)
处理鼠标移动事件,如mouseevent.mouse_dragged。
|
void |
putClientProperty(Object key, Object value)
添加一个任意键/值“客户端属性”到这个组件。
|
void |
registerKeyboardAction(ActionListener anAction, KeyStroke aKeyStroke, int aCondition)
这种方法已经过时了,对于类似的行为,请使用组合
getActionMap() 和
getInputMap() 。
|
void |
registerKeyboardAction(ActionListener anAction, String aCommand, KeyStroke aKeyStroke, int aCondition)
这种方法已经过时了,对于类似的行为,请使用组合
getActionMap() 和
getInputMap() 。
|
void |
removeAncestorListener(AncestorListener listener)
将
listener 这样它将不再接收
AncestorEvents 。
|
void |
removeNotify()
通知这个组件,它不再有父组件。
|
void |
removeVetoableChangeListener(VetoableChangeListener listener)
从列表中移除侦听器
VetoableChangeListener 。
|
void |
repaint(long tm, int x, int y, int width, int height)
如果组件显示的是指定区域,则将指定的区域添加到脏区域列表中。
|
void |
repaint(Rectangle r)
如果组件显示的是指定区域,则将指定的区域添加到脏区域列表中。
|
boolean |
requestDefaultFocus()
过时的。
截至1.4日,由
FocusTraversalPolicy.getDefaultComponent(Container).requestFocus()
|
void |
requestFocus()
的要求,这
Component 获取输入焦点。
|
boolean |
requestFocus(boolean temporary)
的要求,这
Component 获取输入焦点。
|
boolean |
requestFocusInWindow()
的要求,这
Component 获取输入焦点。
|
protected boolean |
requestFocusInWindow(boolean temporary)
的要求,这
Component 获取输入焦点。
|
void |
resetKeyboardActions()
将所有绑定在一线
InputMaps 和
ActionMap 。
|
void |
reshape(int x, int y, int w, int h)
过时的。
作为JDK 5,
Component.setBounds(int, int, int, int) 移动和调整该组件。 取而代之。 |
void |
revalidate()
支持延迟自动布局。
|
void |
scrollRectToVisible(Rectangle aRect)
将
scrollRectToVisible() 消息到
JComponent 的母。
|
void |
setActionMap(ActionMap am)
集
am 的
ActionMap 。
|
void |
setAlignmentX(float alignmentX)
设置垂直对齐方式。
|
void |
setAlignmentY(float alignmentY)
设置水平对齐方式。
|
void |
setAutoscrolls(boolean autoscrolls)
集
autoscrolls 财产。
|
void |
setBackground(Color bg)
设置此组件的背景颜色。
|
void |
setBorder(Border border)
设置此组件的边框。
|
void |
setComponentPopupMenu(JPopupMenu popup)
设置此
JComponent 的
JPopupMenu 。
|
void |
setDebugGraphicsOptions(int debugOptions)
启用或禁用组件或其中一个孩子中执行的每一个图形操作的诊断信息。
|
static void |
setDefaultLocale(Locale l)
设置用于初始化每个JComponent的区域属性在创建默认的区域设置。
|
void |
setDoubleBuffered(boolean aFlag)
设置此组件是否应该使用缓冲区来绘制。
|
void |
setEnabled(boolean enabled)
设置是否启用此组件。
|
void |
setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
设置此组件的一个给定遍历操作的焦点遍历键。
|
void |
setFont(Font font)
为该组件设置字体。
|
void |
setForeground(Color fg)
设置此组件的前景色。
|
void |
setInheritsPopupMenu(boolean value)
设置是否
getComponentPopupMenu 应委托给母如果该组件没有
JPopupMenu 分配给它的。
|
void |
setInputMap(int condition, InputMap map)
设置要使用的条件下的
InputMap
map
condition 。
|
void |
setInputVerifier(InputVerifier inputVerifier)
设置此组件的输入验证。
|
void |
setMaximumSize(Dimension maximumSize)
将此组件的最大大小设置为一个常数。
|
void |
setMinimumSize(Dimension minimumSize)
将此组件的最小大小设置为一个常数。
|
void |
setNextFocusableComponent(Component aComponent)
过时的。
截至1.4日,由
FocusTraversalPolicy
|
void |
setOpaque(boolean isOpaque)
如果真正的组件油漆在其边界内的每一个像素。
|
void |
setPreferredSize(Dimension preferredSize)
设置此组件的首选大小。
|
void |
setRequestFocusEnabled(boolean requestFocusEnabled)
提供一个提示是否这
JComponent 应该获得焦点。
|
void |
setToolTipText(String text)
将要在工具提示中显示的文本寄存器。
|
void |
setTransferHandler(TransferHandler newHandler)
集
TransferHandler ,它提供了数据支持和转移这部分通过剪切/复制/粘贴和拖放。
|
protected void |
setUI(ComponentUI newUI)
设置此组件的外观和感觉代理。
|
void |
setVerifyInputWhenFocusTarget(boolean verifyInputWhenFocusTarget)
设置指示输入验证当前的焦点所有者将在这部分要求关注所谓的价值。
|
void |
setVisible(boolean aFlag)
使组件可见或不可见。
|
void |
unregisterKeyboardAction(KeyStroke aKeyStroke)
这种方法现在已经过时了。
|
void |
update(Graphics g)
电话
paint 。
|
void |
updateUI()
重置UI属性从目前看价值和感觉。
|
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected transient ComponentUI ui
protected EventListenerList listenerList
public static final int WHEN_FOCUSED
registerKeyboardAction
表示命令时会调用组件的焦点。
public static final int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
registerKeyboardAction
表示命令时会调用接收组件的一个祖先的聚焦组件或是本身的主要成分。
public static final int WHEN_IN_FOCUSED_WINDOW
registerKeyboardAction
表示命令时会调用接收组件在窗口具有焦点或是本身的主要成分。
public static final int UNDEFINED_CONDITION
public static final String TOOL_TIP_TEXT_KEY
public JComponent()
JComponent
默认构造函数。此构造函数初始化之外几乎没有
Container
构造函数调用。例如,初始布局管理器是
null
。它,然而,设置组件的位置属性返回的值
JComponent.getDefaultLocale
。
getDefaultLocale()
public void setInheritsPopupMenu(boolean value)
getComponentPopupMenu
应委托给母如果该组件没有
JPopupMenu
分配给它的。
这个默认值是错误的,但有些JComponent
子类,有一些JComponent
s实施可能设置为true。
这是一个绑定属性。
value
-是否Jpopupmenu的继承
setComponentPopupMenu(javax.swing.JPopupMenu)
public boolean getInheritsPopupMenu()
setComponentPopupMenu(javax.swing.JPopupMenu)
public void setComponentPopupMenu(JPopupMenu popup)
JComponent
的
JPopupMenu
。UI负责注册绑定和添加必要的听众,
JPopupMenu
将在适当的时候出现。当
JPopupMenu
表现取决于感觉:有些人可能对鼠标事件表明,一些可以使按键绑定。
如果popup
是空的,和getInheritsPopupMenu
返回true,那么getComponentPopupMenu
将委托给父。这提供了一个方法,让所有的子组件的继承父代的弹出菜单。
这是一个绑定属性。
popup
-弹出,将被分配到该组分可能是空的
getComponentPopupMenu()
public JPopupMenu getComponentPopupMenu()
JPopupMenu
指定这个组件。如果该组件没有
JPopupMenu
分配给它
getInheritsPopupMenu
属实,这将
getParent().getComponentPopupMenu()
(假设父母是有效的。)
JPopupMenu
指定这个组件或
null
如果没有弹出分配
setComponentPopupMenu(javax.swing.JPopupMenu)
public void updateUI()
JComponent
子类必须重写此方法是这样的:
updateui() { public voidsetui((SliderUI)”。getui(本);}
protected void setUI(ComponentUI newUI)
JComponent
类一般重写此方法以缩小参数类型。例如,在
JSlider
:
公共无效setui(SliderUI newUI){超级setui(newui);}
此外JComponent
子类必须提供一个getUI
方法返回正确的类型。例如:
公共sliderui getui() {返回(sliderui)UI;}
newUI
-新的UI代理
updateUI()
,
UIManager.getLookAndFeel()
,
UIManager.getUI(javax.swing.JComponent)
public String getUIClassID()
swing.plaf.ComponentUI
类的名字,觉得这一部分的
UIDefaults
关键。大多数应用程序将永远不需要调用此方法。对
JComponent
支持可插拔的外观和感觉,应重写此方法以返回一个
UIDefaults
键映射到定义它们的外观和感觉的
ComponentUI
子类的子类。
ComponentUI
类
UIDefaults
关键
UIDefaults.getUI(javax.swing.JComponent)
protected Graphics getComponentGraphics(Graphics g)
DebugGraphics
打开我们创建一个新的
DebugGraphics
对象如果有必要。否则,我们只配置指定的图形对象的前景和字体。
g
-原
Graphics
对象
Graphics
对象
protected void paintComponent(Graphics g)
null
。我们通过委托复制的
Graphics
对象保护油漆代码的其余部分从不可逆转的变化(例如,
Graphics.translate
)。
如果你重写这一类你不应该通过在Graphics
做出永久的改变。例如,你不应该改变夹Rectangle
或修改变换。如果你需要做这些操作,你会发现它更容易创建了一个新的Graphics
Graphics
和操纵它。此外,如果你不调用超实现你必须尊重的不透明性,即如果该组件是不透明的,你必须完全填写背景在非不透明的颜色。如果你不尊重不透明的属性,你可能会看到视觉伪影。
通过在Graphics
对象可能有一个变换除了确定变换上安装。在这种情况下,你会如果你累计应用另一个变换得到意想不到的结果。
g
-保护
Graphics
对象
paint(java.awt.Graphics)
,
ComponentUI
protected void paintChildren(Graphics g)
shouldUseBuffer
是真实的,没有分量的祖先有一个缓冲区和部分的孩子如果他们有一个缓冲。否则,一个祖先有一个缓冲区,目前在使用和孩子们不应该使用缓冲区油漆。
g
-
Graphics
背景的画
paint(java.awt.Graphics)
,
Container.paint(java.awt.Graphics)
protected void paintBorder(Graphics g)
如果你重写这一类你不应该通过在Graphics
做出永久的改变。例如,你不应该改变夹Rectangle
或修改变换。如果你需要做这些操作,你会发现它更容易创建了一个新的Graphics
Graphics
和操纵它。
g
-
Graphics
背景的画
paint(java.awt.Graphics)
,
setBorder(javax.swing.border.Border)
public void update(Graphics g)
paint
。不清晰的背景看
ComponentUI.update
,即通过
paintComponent
。
update
方法重写,继承类
Container
g
-
Graphics
背景的画
paint(java.awt.Graphics)
,
paintComponent(java.awt.Graphics)
,
ComponentUI
public void paint(Graphics g)
paint
直接,而应该使用
repaint
方法来重绘组件的时间表。
这种方法实际上代表绘画工作三保护的方法:paintComponent
,paintBorder
,和paintChildren
。他们被称为在列出的顺序,以确保孩子出现在组件本身的顶部。一般来说,组件和它的孩子们不应该画的插图面积分配到边境。子类可以重写此方法,就像总是。一类是只想专注UI(外观)代表的paint
方法应该重写paintComponent
。
paint
方法重写,继承类
Container
g
-
Graphics
背景的画
paintComponent(java.awt.Graphics)
,
paintBorder(java.awt.Graphics)
,
paintChildren(java.awt.Graphics)
,
getComponentGraphics(java.awt.Graphics)
,
repaint(long, int, int, int, int)
public void printAll(Graphics g)
print
。
printAll
方法重写,继承类
Component
g
-其中
Graphics
背景画
print(java.awt.Graphics)
,
printComponent(java.awt.Graphics)
,
printBorder(java.awt.Graphics)
,
printChildren(java.awt.Graphics)
public void print(Graphics g)
Graphics
。该方法将导致调用
printComponent
,
printBorder
和
printChildren
。建议您重写前面提到的方法之一,而不是这一个,如果你的意图是定制的方式打印看起来。但是,可以重写此方法有用如果你想调用父类的行为准备状态。作为一个例子,如果你想打印前改变组件的背景色,你可以做以下几点:
公共无效打印(图形G)色1 = getbackground();setbackground(颜色。白色);/包装在/最后,使我们总是恢复状态尝试{超级打印(G);最后,{ }setbackground(原版);}}
另外,或将委托给其他对象的组件,您可以在该组件是否在打印操作中查询到该组件是否在打印操作中。的isPaintingForPrint
方法提供了这种能力和它的返回值将通过这种方法来改变:true
之前绘制,false
后立即。每一次改变属性更改事件在该组件的名称"paintingForPrint"
解雇。
此方法设置组件的状态,双缓冲区将不会被使用:绘画直接传入的Graphics
。
print
方法重写,继承类
Container
g
-
Graphics
背景的画
printComponent(java.awt.Graphics)
,
printBorder(java.awt.Graphics)
,
printChildren(java.awt.Graphics)
,
isPaintingForPrint()
protected void printComponent(Graphics g)
paintComponent
在组件。如果你想在打印时添加特殊的绘画行为,可以重写这个。
g
-其中
Graphics
背景画
print(java.awt.Graphics)
protected void printChildren(Graphics g)
paintChildren
在组件。覆盖这个,如果你想打印的孩子们不同于绘画。
g
-
Graphics
背景的画
print(java.awt.Graphics)
protected void printBorder(Graphics g)
paintBorder
在组件。重写此,如果你希望打印边框的不同,它是画。
g
-
Graphics
背景的画
print(java.awt.Graphics)
public boolean isPaintingTile()
public final boolean isPaintingForPrint()
true
如果这个元件上的电流操作是一个
print
操作部分。当你想自定义你的打印与你在屏幕上显示的什么时,这种方法是有用的。
你可以通过倾听性质变化对该组件名称"paintingForPrint"
事件检测此属性的值的变化。
注:这种方法提供了免费的功能,由其他高层次的摆动印刷原料药提供。然而,它涉及严格的绘画,不应该被混淆,提供更高级别的打印过程的信息。例如,一个JTable.print()
操作并不一定导致连续绘制完整的组件,和该方法的返回值可以在运行多次更改。它甚至是可能的组件被涂到屏幕上,而印刷过程正在进行。在这种情况下,该方法的返回值是true
时,只有当表中被描绘为印刷过程中的一部分。
print(java.awt.Graphics)
@Deprecated public boolean isManagingFocus()
Component.setFocusTraversalKeys(int, Set)
和Container.setFocusCycleRoot(boolean)
取代。
改变这JComponent
焦点遍历键Ctrl + Tab和按Ctrl + Shift + Tab。还可以从这SortingFocusTraversalPolicy
JComponent后裔当计算焦点遍历循环。
@Deprecated public void setNextFocusableComponent(Component aComponent)
FocusTraversalPolicy
重写这JComponent
的焦点遍历循环通过无条件设置指定的Component
作为循环中的下一个Component
默认FocusTraversalPolicy
,这JComponent
作为指定Component
先前的Component
在周期。
aComponent
,应遵循这一
JComponent
焦点遍历循环中的
Component
getNextFocusableComponent()
,
FocusTraversalPolicy
@Deprecated public Component getNextFocusableComponent()
FocusTraversalPolicy
。
返回由之前的电话setNextFocusableComponent(Component)
在此JComponent
的Component
。
Component
将遵循这一
JComponent
焦点遍历循环中,或
null
如果没有显式指定
setNextFocusableComponent(java.awt.Component)
public void setRequestFocusEnabled(boolean requestFocusEnabled)
JComponent
应该获得焦点。这只是一个提示,这是消费者的要求,重点是荣誉这个属性。这是典型的鼠标操作,但不是键盘操作。例如,看和感觉可以验证这个属性是真实的,在鼠标操作之前要求的重点。这通常会是如果你不想要一个鼠标按
JComponent
偷集中使用,但也要
JComponent
是可通过键盘。如果你根本不想要这个
JComponent
聚焦,使用
setFocusable
法代替。
请看 How to Use the Focus Subsystem,java教程中的一部分,更多的信息。
requestFocusEnabled
-表明您是否想要这个
JComponent
是不可
Component.setFocusable(boolean)
public boolean isRequestFocusEnabled()
true
如果这个组件应该获得焦点,否则返回
false
setRequestFocusEnabled(boolean)
,
Focus Specification,
Component.isFocusable()
public void requestFocus()
Component
获取输入焦点。参考
Component.requestFocus()
对本方法的完整描述。
请注意,这种方法的使用是气馁,因为它的行为是依赖于平台的。相反,我们建议使用requestFocusInWindow()
。如果你想在焦点,更多信息见 How to Use the Focus Subsystem,java教程中的一部分。
requestFocus
方法重写,继承类
Component
Component.requestFocusInWindow()
,
Component.requestFocusInWindow(boolean)
public boolean requestFocus(boolean temporary)
Component
获取输入焦点。参考
Component.requestFocus(boolean)
对本方法的完整描述。
请注意,这种方法的使用是气馁,因为它的行为是依赖于平台的。相反,我们建议requestFocusInWindow(boolean)
使用。如果您想重点,更多信息见 How to Use the Focus Subsystem,java教程中的一部分。
requestFocus
方法重写,继承类
Component
temporary
-布尔表示如果焦点改变是暂时的
false
如果焦点变更请求是注定要失败的;
true
是否可能成功
Component.requestFocusInWindow()
,
Component.requestFocusInWindow(boolean)
public boolean requestFocusInWindow()
Component
获取输入焦点。参考
Component.requestFocusInWindow()
对本方法的完整描述。
如果你想在焦点,更多信息见 How to Use the Focus Subsystem,java教程中的一部分。
requestFocusInWindow
方法重写,继承类
Component
false
如果焦点变更请求是注定要失败的;
true
是否可能成功
Component.requestFocusInWindow()
,
Component.requestFocusInWindow(boolean)
protected boolean requestFocusInWindow(boolean temporary)
Component
获取输入焦点。参考
Component.requestFocusInWindow(boolean)
对本方法的完整描述。
如果你想在焦点,更多信息见 How to Use the Focus Subsystem,java教程中的一部分。
requestFocusInWindow
方法重写,继承类
Component
temporary
-布尔表示如果焦点改变是暂时的
false
如果焦点变更请求是注定要失败的;
true
是否可能成功
Component.requestFocusInWindow()
,
Component.requestFocusInWindow(boolean)
public void grabFocus()
此方法的目的是使用聚焦实现。客户端代码不应使用此方法;相反,它应该使用requestFocusInWindow()
。
requestFocusInWindow()
public void setVerifyInputWhenFocusTarget(boolean verifyInputWhenFocusTarget)
verifyInputWhenFocusTarget
为
verifyInputWhenFocusTarget
属性值
InputVerifier
,
setInputVerifier(javax.swing.InputVerifier)
,
getInputVerifier()
,
getVerifyInputWhenFocusTarget()
public boolean getVerifyInputWhenFocusTarget()
verifyInputWhenFocusTarget
属性值
InputVerifier
,
setInputVerifier(javax.swing.InputVerifier)
,
getInputVerifier()
,
setVerifyInputWhenFocusTarget(boolean)
public FontMetrics getFontMetrics(Font font)
Font
的
FontMetrics
。
getFontMetrics
方法重写,继承类
Component
font
的字体的字体度量是得到
font
字体度量
NullPointerException
-如果
font
是空的
Component.getFont()
,
Component.getPeer()
,
ComponentPeer.getFontMetrics(Font)
,
Toolkit.getFontMetrics(Font)
public void setPreferredSize(Dimension preferredSize)
preferredSize
是
null
,UI将使用默认的大小。
setPreferredSize
方法重写,继承类
Component
preferredSize
-新的首选大小,或空
Component.getPreferredSize()
,
Component.isPreferredSizeSet()
public Dimension getPreferredSize()
preferredSize
已设置为非
null
价值才返回。如果UI代理的
getPreferredSize
方法返回一个非
null
值返回;否则,按照组件的布局管理器。
getPreferredSize
方法重写,继承类
Container
preferredSize
属性的值
setPreferredSize(java.awt.Dimension)
,
ComponentUI
public void setMaximumSize(Dimension maximumSize)
getMaximumSize
将总是返回该值;组件的用户界面将不被计算。设置最大大小
null
恢复默认的行为。
setMaximumSize
方法重写,继承类
Component
maximumSize
-
Dimension
含有所需的最大允许尺寸
getMaximumSize()
public Dimension getMaximumSize()
null
价值才返回。如果UI代理的
getMaximumSize
方法返回一个非
null
值返回;否则,按照组件的布局管理器。
getMaximumSize
方法重写,继承类
Container
maximumSize
属性的值
setMaximumSize(java.awt.Dimension)
,
ComponentUI
public void setMinimumSize(Dimension minimumSize)
getMinimumSize
将总是返回该值;组件的用户界面将不被计算。设置最小尺寸
null
恢复默认的行为。
setMinimumSize
方法重写,继承类
Component
minimumSize
-这个组件的新的最小尺寸
getMinimumSize()
public Dimension getMinimumSize()
null
价值才返回。如果UI代理的
getMinimumSize
方法返回一个非
null
值返回;否则,按照组件的布局管理器。
getMinimumSize
方法重写,继承类
Container
minimumSize
属性的值
setMinimumSize(java.awt.Dimension)
,
ComponentUI
public boolean contains(int x, int y)
contains
方法重写,继承类
Component
x
-点的X坐标
y
-点的Y坐标
Component.contains(int, int)
,
ComponentUI
public void setBorder(Border border)
Border
对象负责定义为组件的插图(压倒一切的设定直接在组件的所有插图)和任选的渲染任何边界内的装饰那些插图的界限。边界应使用(而不是小图)创造的装饰与非装饰(如margin和padding)一个Swing组件区域。复合边框可以用于在单个组件中嵌套多个边框。
虽然技术上可以设置边框的任何对象继承自JComponent
,外观和感觉的许多标准的Swing组件的实现并不与用户设定的边界。一般来说,当你要设置一个边界,在一个标准的Swing组件以外的其他JPanel
或JLabel
,我们建议你把组件在一个JPanel
和设置边框的JPanel
。
这是一个绑定属性。
border
-边界是此组件的渲染
Border
,
CompoundBorder
public Border getBorder()
null
边界,如果没有边界的当前设置。
setBorder(javax.swing.border.Border)
public Insets getInsets()
super.getInsets
。
getInsets
方法重写,继承类
Container
setBorder(javax.swing.border.Border)
public Insets getInsets(Insets insets)
Insets
对象。通过在
Insets
对象将重复使用,如果可能的话。调用方法不能假设相同的对象将被返回,但是。所有现有的价值观在这个对象被覆盖。如果
insets
是null,这将分配一个新的。
insets
-
Insets
对象,可重复使用
Insets
对象
getInsets()
public float getAlignmentY()
Container.getAlignmentY
回报水平对齐。
getAlignmentY
方法重写,继承类
Container
alignmentY
属性的值
setAlignmentY(float)
,
Component.getAlignmentY()
public void setAlignmentY(float alignmentY)
alignmentY
-新的水平对齐方式
getAlignmentY()
public float getAlignmentX()
Container.getAlignmentX
返回垂直对齐。
getAlignmentX
方法重写,继承类
Container
alignmentX
属性的值
setAlignmentX(float)
,
Component.getAlignmentX()
public void setAlignmentX(float alignmentX)
alignmentX
-新的垂直对齐
getAlignmentX()
public void setInputVerifier(InputVerifier inputVerifier)
inputVerifier
-新的验证器
InputVerifier
public InputVerifier getInputVerifier()
inputVerifier
财产
InputVerifier
public Graphics getGraphics()
Graphics
对象,然后调用操作,对象绘制在组件。
getGraphics
方法重写,继承类
Component
Component.paint(java.awt.Graphics)
public void setDebugGraphicsOptions(int debugOptions)
debugOptions
-决定组件应显示信息;下列选项之一:
ExternalWindow
显示操作视图的屏幕缓冲区进行。debugOptions
是按位或会为当前值
public int getDebugGraphicsOptions()
ExternalWindow
显示操作视图的屏幕缓冲区进行。setDebugGraphicsOptions(int)
public void registerKeyboardAction(ActionListener anAction, String aCommand, KeyStroke aKeyStroke, int aCondition)
getActionMap()
和
getInputMap()
。例如,将
KeyStroke
aKeyStroke
的
Action
anAction
现在使用:
组成部分。getinputmap()放(akeystroke,命令);组成部分。getactionmap()放(acommmand,行为);上述假定你想要绑定适用于
WHEN_FOCUSED
。登记其他焦点状态绑定使用
getInputMap
方法需要一个整数。
注册一个新的键盘动作。anAction
会被调用,如果一个关键事件匹配aKeyStroke
发生和aCondition
验证。KeyStroke
对象定义的特定组合的键盘键和一个或多个修饰符(ALT,移动,Ctrl,元)。
的aCommand
将设置在交付事件如果指定。
这可能是一aCondition
:
- WHEN_FOCUSED
- The action will be invoked only when the keystroke occurs while the component has the focus.
- WHEN_IN_FOCUSED_WINDOW
- The action will be invoked when the keystroke occurs while the component has the focus or if the component is in the window that has the focus. Note that the component need not be an immediate descendent of the window -- it can be anywhere in the window's containment hierarchy. In other words, whenever any component in the window has the focus, the action registered with this component is invoked.
- WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
- The action will be invoked when the keystroke occurs while the component has the focus or if the component is an ancestor of the component that has the focus.
按键和条件的结合让你定义高层次(语义)为指定的按键+改性剂联合作用的事件(使用按键类)直接向父母或孩子的一个组成部分,具有焦点时,或构件本身。换句话说,在任何组件的层次结构中,一个任意键组合可以立即指向在层次结构中的适当的组件,并导致一个特定的方法被调用(通常是通过适配器对象)。
如果一个动作已经注册的接收容器,具有相同的字符码和相同的改性剂,anAction
将取代行动。
anAction
-
Action
要登记
aCommand
-命令将在交付的事件
aKeyStroke
-
KeyStroke
绑定到行动
aCondition
-需要满足的条件,见上面
KeyStroke
public void registerKeyboardAction(ActionListener anAction, KeyStroke aKeyStroke, int aCondition)
getActionMap()
和
getInputMap()
。
public void unregisterKeyboardAction(KeyStroke aKeyStroke)
ActionMap/InputMap
,或放置一个虚拟结合的
InputMap
。除结合从
InputMap
允许家长
InputMap
s绑定是主动的,而把一个虚拟的结合在
InputMap
禁用结合的发生。
将键盘操作。这将从ActionMap
移除绑定(如果它存在的话)以及InputMap
s。
public KeyStroke[] getRegisteredKeyStrokes()
KeyStrokes
将发起注册的行为。
KeyStroke
对象数组
registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
public int getConditionForKeyStroke(KeyStroke aKeyStroke)
java 2平台V1.3,一KeyStroke
可以与一个以上的相关条件。例如,一个能结合这两个条件WHEN_FOCUSED
和WHEN_IN_FOCUSED_WINDOW
条件。
public ActionListener getActionForKeyStroke(KeyStroke aKeyStroke)
ActionListener
对象调用时发生的按键
public void resetKeyboardActions()
InputMaps
和
ActionMap
。这具有消除任何本地绑定的作用,让家长
InputMap/ActionMaps
定义绑定(UI通常是在二线定义)坚持。
public final void setInputMap(int condition, InputMap map)
InputMap
map
condition
。一个
null
价值意味着你不想有任何绑定使用,甚至从UI。这将不会安装UI
InputMap
(如果有)。
condition
具有下列值之一:
WHEN_IN_FOCUSED_WINDOW
WHEN_FOCUSED
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
condition
是
WHEN_IN_FOCUSED_WINDOW
和
map
不是
ComponentInputMap
,一
IllegalArgumentException
将抛出。同样,如果
condition
没有列出的值,将抛出一
IllegalArgumentException
。
condition
-上面列出的值
map
-
InputMap
使用给定的条件
IllegalArgumentException
-如果
condition
是
WHEN_IN_FOCUSED_WINDOW
和
map
不是
ComponentInputMap
实例;或者如果
condition
不是上面指定的法律价值
public final InputMap getInputMap(int condition)
InputMap
,是用在
condition
。
condition
-一个when_in_focused_window,when_focused,when_ancestor_of_focused_component
InputMap
condition
public final InputMap getInputMap()
InputMap
时所使用的组件具有焦点。这是
getInputMap(WHEN_FOCUSED)
便利的方法。
InputMap
组件具有焦点时使用
public final void setActionMap(ActionMap am)
am
的
ActionMap
。这不定的
am
母是从UI的
ActionMap
(如果有),它是由调用者来做这个。
am
-新的
ActionMap
public final ActionMap getActionMap()
Action
为特定
KeyStroke
结合火灾
ActionMap
。返回的
ActionMap
,否则,将从UI设置为母有
ActionMap
。
ActionMap
public int getBaseline(int width, int height)
LayoutManager
s将沿其基线分量。返回值小于0,表明该组件没有合理的基线,
LayoutManager
s不应该在其基线对齐这个组件。
这种方法称为同一名称的ComponentUI
方法。如果该组件没有ComponentUI
- 1将返回。如果一个值> = 0返回,然后组成有一个有效的基线为任何规模的> =最小尺寸和getBaselineResizeBehavior
可以用来确定基线的改变大小。
getBaseline
方法重写,继承类
Component
width
的宽度得到基线
height
-高度得到基线
IllegalArgumentException
如果宽度或高度小于0
getBaselineResizeBehavior()
,
FontMetrics
public Component.BaselineResizeBehavior getBaselineResizeBehavior()
这种方法称为同一名称的ComponentUI
方法。如果该组件没有ComponentUI
BaselineResizeBehavior.OTHER
将返回。子类应该不会再回来null
;如果基线无法计算回报BaselineResizeBehavior.OTHER
。用户应该先问用getBaseline
基线,如果值> = 0返回使用此方法。此方法返回比其他BaselineResizeBehavior.OTHER
即使getBaseline
返回值小于0的值是可以接受的。
getBaselineResizeBehavior
方法重写,继承类
Component
getBaseline(int, int)
@Deprecated public boolean requestDefaultFocus()
FocusTraversalPolicy.getDefaultComponent(Container).requestFocus()
请关注这JComponent
的FocusTraversalPolicy
的默认Component
。如果这是一JComponent
焦点循环根,然后用其FocusTraversalPolicy
。否则,这JComponent
的焦点循环根祖FocusTraversalPolicy
使用。
public void setVisible(boolean aFlag)
Component.setVisible
。
setVisible
方法重写,继承类
Component
aFlag
真使组件可见;假使它看不见
Component.isVisible()
,
Component.invalidate()
public void setEnabled(boolean enabled)
注意:禁用一个组件不禁用它的孩子。
注意:禁用轻量级组件不会阻止其接收MouseEvents。
setEnabled
方法重写,继承类
Component
enabled
-如果这个组件应该被启用,否则为假
Component.isEnabled()
,
Component.isLightweight()
public void setForeground(Color fg)
setForeground
方法重写,继承类
Component
fg
-理想的前景
Color
Component.getForeground()
public void setBackground(Color bg)
JComponent
或
ComponentUI
实现。对
JComponent
直接子类必须重写此属性
paintComponent
荣誉。
这是向上的外观和感觉尊重这个属性,有些人可能会选择忽略它。
setBackground
方法重写,继承类
Component
bg
-所需的背景
Color
Component.getBackground()
,
setOpaque(boolean)
public void setFont(Font font)
setFont
方法重写,继承类
Container
font
-这个组件所需的
Font
Component.getFont()
public static Locale getDefaultLocale()
Locale
。
setDefaultLocale(java.util.Locale)
,
Component.getLocale()
,
Component.setLocale(java.util.Locale)
public static void setDefaultLocale(Locale l)
l
-新的组件所需的默认
Locale
。
getDefaultLocale()
,
Component.getLocale()
,
Component.setLocale(java.util.Locale)
protected void processComponentKeyEvent(KeyEvent e)
这种方法是实现什么都不做。子类通常会重写此方法,如果他们处理一些关键事件本身。如果事件被处理,它应该被消耗。
protected void processKeyEvent(KeyEvent e)
processKeyEvent
处理事件。
processKeyEvent
方法重写,继承类
Component
e
的关键事件
KeyEvent
,
KeyListener
,
KeyboardFocusManager
,
DefaultKeyboardFocusManager
,
Component.processEvent(java.awt.AWTEvent)
,
Component.dispatchEvent(java.awt.AWTEvent)
,
Component.addKeyListener(java.awt.event.KeyListener)
,
Component.enableEvents(long)
,
Component.isShowing()
protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)
ks
绑定的
KeyEvent
e
结果。这种获得合适的
InputMap
,获取绑定,从
ActionMap
获取动作,然后(如果找到行为和组件启用)调用
notifyAction
通知行动。
ks
-
KeyStroke
查询
e
-
KeyEvent
condition
-以下值之一:
pressed
-如果按下键
public void setToolTipText(String text)
看到How to Use Tool Tips java教程中的进一步资料。
text
-要显示的字符串;如果文本是
null
,工具提示是关闭这个组件
TOOL_TIP_TEXT_KEY
public String getToolTipText()
setToolTipText
。
TOOL_TIP_TEXT_KEY
public String getToolTipText(MouseEvent event)
setToolTipText
。如果一个组件提供了更广泛的API支持不同的提示在不同的位置,这种方法应该被重写。
public Point getToolTipLocation(MouseEvent event)
null
返回,摆动会选择一个位置。默认的实现返回
null
。
event
-导致
ToolTipManager
显示工具提示的
MouseEvent
null
public Point getPopupLocation(MouseEvent event)
null
,外观和感觉都会选择一个合适的位置。
event
-触发弹出显示
MouseEvent
,或
null
如果弹出并不表现为鼠标事件的结果
JPopupMenu
,或
null
public JToolTip createToolTip()
JToolTip
实例应该用来显示工具提示。组件通常不会重写此方法,但它可以导致不同的工具提示将显示不同的。
JToolTip
用于显示此提示
public void scrollRectToVisible(Rectangle aRect)
scrollRectToVisible()
消息到
JComponent
的母。可以请求服务的组件,如
JViewport
,重写此方法并进行滚动。
aRect
-可见
Rectangle
JViewport
public void setAutoscrolls(boolean autoscrolls)
autoscrolls
财产。如果
true
鼠标拖动事件会合成产生的当鼠标拖动组件的边界和鼠标运动之外(而暂停按钮继续追究下去)。的合成事件使它出现,拖曳的手势已恢复在建立的方向时,组件的边界越过。组件支持autoscrolling必须用矩形包含鼠标事件的位置调用
scrollRectToVisible
mouseDragged
事件处理。所有的Swing组件支持项目的选择,通常是在一个
JScrollPane
显示(
JTable
,
JList
,
JTree
,
JTextArea
,和
JEditorPane
)已经处理这样鼠标拖动事件。启用自动滚动在任何其他组件,添加一个鼠标动作监听器调用
scrollRectToVisible
。例如,给定一个
JPanel
,
myPanel
:
mousemotionlistener doscrollrecttovisible =新mousemotionadapter() {公共无效负责处理鼠标拖动事件(MouseEvent e){矩形R =新的矩形(如getx(),大肠gety(),1,1);((JPanel)E. getsource())。scrollrecttovisible(R);}};mypanel addmousemotionlistener(doscrollrecttovisible);的
autoScrolls
属性的默认值是
false
。
autoscrolls
-如果属实,合成鼠标拖动事件产生时,鼠标拖动组件的边界外和鼠标按钮继续追究下去;否则为false
getAutoscrolls()
,
JViewport
,
JScrollPane
public boolean getAutoscrolls()
autoscrolls
财产。
autoscrolls
属性的值
JViewport
,
setAutoscrolls(boolean)
public void setTransferHandler(TransferHandler newHandler)
TransferHandler
,它提供了数据支持和转移这部分通过剪切/复制/粘贴和拖放。这可能是
null
如果组件不支持数据传输操作。
如果新的TransferHandler
不null
,这种方法也安装该组件上的新的 DropTarget
激活下降通过TransferHandler
处理和激活任何内置的支持(如计算和显示的电位降的位置)。如果你不希望这部分以任何方式滴回应,你完全可以通过去除掉目标禁用拖放支持(setDropTarget(null)
)或去激活它(getDropTaget().setActive(false)
)。
如果新的TransferHandler
是null
,此方法删除掉目标。
两种情况下,该方法不改变下降的目标:首先,如果现有的拖放目标在这部分明确规定由开发商一non-null
价值。其次,如果系统性能suppressSwingDropSupport
是true
。为系统属性的默认值是false
。
请看 How to Use Drag and Drop and Data Transfer,java教程中的一部分,更多的信息。
newHandler
-新的
TransferHandler
TransferHandler
,
getTransferHandler()
public TransferHandler getTransferHandler()
transferHandler
财产。
transferHandler
属性的值
TransferHandler
,
setTransferHandler(javax.swing.TransferHandler)
protected void processMouseEvent(MouseEvent e)
MouseListener
对象,指的是
Component.processMouseEvent(MouseEvent)
对本方法的完整描述。
processMouseEvent
方法重写,继承类
Component
e
-鼠标事件
Component.processMouseEvent(java.awt.event.MouseEvent)
protected void processMouseMotionEvent(MouseEvent e)
processMouseMotionEvent
方法重写,继承类
Component
e
-
MouseEvent
MouseEvent
@Deprecated public void enable()
java.awt.Component.setEnabled(boolean)
。
@Deprecated public void disable()
java.awt.Component.setEnabled(boolean)
。
public final Object getClientProperty(Object key)
putClientProperty
将返回一个非
null
价值。
key
-查询
null
putClientProperty(java.lang.Object, java.lang.Object)
public final void putClientProperty(Object key, Object value)
的get/putClientProperty
方法提供一个小的每个实例的哈希表。用户可以使用获得/ putclientproperty,被另一模块创建的组件注释。例如,一个布局管理器可以以这种方式存储每个子约束。例如:
componenta。putclientproperty(“左”,componentb);如果值是
null
此方法将删除该属性。客户性质的变化
PropertyChange
事件报道。该属性的名称(为propertychange事件的缘故)是
key.toString()
。
的clientProperty
词典是不打算支持大规模扩展的组件也不应被它视为一种替代子当设计一个新的组件。
key
-新的客户端密钥
value
-新客户的财产价值;如果
null
此方法将删除该属性
getClientProperty(java.lang.Object)
,
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)
public void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)
Component.setFocusTraversalKeys(int, java.util.Set<? extends java.awt.AWTKeyStroke>)
对本方法的完整描述。
这种方法可以keystrokes
任何Object
不是AWTKeyStroke
扔ClassCastException
。
setFocusTraversalKeys
方法重写,继承类
Container
id
-一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,或keyboardfocusmanager.up_cycle_traversal_keys
keystrokes
-为指定的操作awtkeystroke集
IllegalArgumentException
-如果我不是一个keyboardfocusmanager.forward_traversal_keys,keyboardfocusmanager.backward_traversal_keys,或keyboardfocusmanager.up_cycle_traversal_keys,或如果按键包含null,或者如果任何按键代表一个key_typed事件,或如果任何按键已经映射到另一个焦点遍历操作这个组件
KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS
,
KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS
public static boolean isLightweightComponent(Component c)
@Deprecated public void reshape(int x, int y, int w, int h)
Component.setBounds(int, int, int, int)
移动和调整该组件。
取而代之。reshape
方法重写,继承类
Component
x
-新的水平位置
y
-新的垂直位置
w
-新的宽度
h
-新高度
Component.setBounds(int, int, int, int)
public Rectangle getBounds(Rectangle rv)
rv
返回
rv
。如果
rv
是
null
新
Rectangle
分配。如果来电者要避免在堆上分配一个新的
Rectangle
对象这个版本的
getBounds
是有用的。
public Dimension getSize(Dimension rv)
rv
返回
rv
。如果是一个新的
rv
null
Dimension
对象分配。如果来电者要避免在堆上分配一个新的
Dimension
对象这个版本的
getSize
是有用的。
public Point getLocation(Point rv)
rv
返回
rv
。如果是一个新的
Point
rv
null
分配。如果来电者要避免在堆上分配一个新的
Point
对象这个版本的
getLocation
是有用的。
getLocation
方法重写,继承类
Component
rv
-返回值,修改组件的位置
rv
public int getX()
component.getBounds().x
,或
component.getLocation().x
因为它不会引起任何堆分配。
public int getY()
component.getBounds().y
,或
component.getLocation().y
因为它不会引起任何堆分配。
public int getWidth()
component.getBounds().width
,或
component.getSize().width
因为它不会引起任何堆分配。
public int getHeight()
component.getBounds().height
,或
component.getSize().height
因为它不会引起任何堆分配。
public boolean isOpaque()
一个不透明的组件画在它的矩形边界内的每一个像素。一个非不透明的组件只画出它的像素的一个子集,或者根本没有,允许它在它下面的像素“显示通过”。因此,一个不完全画它的像素的组件提供了一个透明的程度。
保证总是完全地画他们的内容的子类应该重写这个方法,并返回真。
isOpaque
方法重写,继承类
Component
setOpaque(boolean)
public void setOpaque(boolean isOpaque)
此属性的默认值是false,JComponent
。然而,这个属性在大多数标准JComponent
子类的默认值(如JButton
和JTree
)外观和感觉的依赖。
isOpaque
-如果这个组件应该是不透明的
isOpaque()
public void computeVisibleRect(Rectangle visibleRect)
Component
“可见矩形矩形”-这部分可见的矩形的交集和它的所有祖先。返回值是存储在
visibleRect
。
visibleRect
-计算为该组件的所有可见的矩形的交集和它的所有祖先的
Rectangle
--这是这个方法的返回值
getVisibleRect()
public Rectangle getVisibleRect()
Component
“可见矩形”-这部分的可见的矩形,路口
new Rectangle(0, 0, getWidth(), getHeight())
,和它的所有祖先的可见的矩形。
public void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)
firePropertyChange
方法重写,继承类
Component
propertyName
-属性的值发生了改变
oldValue
-以前的属性值
newValue
-属性的新值
public void firePropertyChange(String propertyName, int oldValue, int newValue)
firePropertyChange
方法重写,继承类
Component
propertyName
-属性的值发生了改变
oldValue
-以前的属性值
newValue
-属性的新值
public void firePropertyChange(String propertyName, char oldValue, char newValue)
Component
firePropertyChange
方法重写,继承类
Component
propertyName
-房地产,专业名称变更
oldValue
-财产的旧值(作为一个字符)
newValue
-新的属性值(如一个字符)
Component.firePropertyChange(java.lang.String, java.lang.Object, java.lang.Object)
protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue) throws PropertyVetoException
PropertyChangeEvent
任何注册
VetoableChangeListeners
。
propertyName
-房地产,听名字
oldValue
-属性的旧值
newValue
-新的属性值
PropertyVetoException
-当尝试设置该属性是由组件否决
public void addVetoableChangeListener(VetoableChangeListener listener)
VetoableChangeListener
的监听器列表。侦听器是为所有属性注册的。
listener
-
VetoableChangeListener
加以补充
public void removeVetoableChangeListener(VetoableChangeListener listener)
VetoableChangeListener
。这消除了
VetoableChangeListener
被注册为所有属性。
listener
-
VetoableChangeListener
被删除
public VetoableChangeListener[] getVetoableChangeListeners()
VetoableChangeListener
s或如果没有vetoable改变听众正在注册一个空数组
addVetoableChangeListener(java.beans.VetoableChangeListener)
,
removeVetoableChangeListener(java.beans.VetoableChangeListener)
public Container getTopLevelAncestor()
Window
或
Applet
),或
null
如果该组件没有被添加到任何容器。
Container
,或
null
如果不在任何容器
public void addAncestorListener(AncestorListener listener)
listener
这样就会收到
AncestorEvents
当它或其任何祖先移动或是有形的或无形的。当组件或它的祖先从包含层次结构中添加或移除时,事件也被发送。
listener
-
AncestorListener
登记
AncestorEvent
public void removeAncestorListener(AncestorListener listener)
listener
这样它将不再接收
AncestorEvents
。
listener
-
AncestorListener
被删除
addAncestorListener(javax.swing.event.AncestorListener)
public AncestorListener[] getAncestorListeners()
AncestorListener
s或空数组如果没有祖先的听众正在注册
addAncestorListener(javax.swing.event.AncestorListener)
,
removeAncestorListener(javax.swing.event.AncestorListener)
public <T extends EventListener> T[] getListeners(类<T> listenerType)
FooListener
s在这
JComponent
数组。
FooListener
s使用
addFooListener
方法注册。
您可以指定一个类的listenerType
字面的说法,如FooListener.class
。例如,你可以查询其鼠标的听众与下面的代码JComponent
c
:
MouseListener [] MLS =(MouseListener [ ])(c.getlisteners(MouseListener类));如果没有这样的听众的存在,此方法将返回空数组。
getListeners
方法重写,继承类
Container
listenerType
-听众的类型要求;这个参数应该指定一个接口,从
java.util.EventListener
FooListener
s数组,或一个空数组如果没有这样的听众已添加
ClassCastException
-如果
listenerType
不指定一个类或接口实现
java.util.EventListener
getVetoableChangeListeners()
,
getAncestorListeners()
public void addNotify()
KeyboardAction
事件监听器。这种方法被内部调用的工具包,不应该直接调用程序。
public void removeNotify()
KeyboardAction
s设置在链父组件被移除。这种方法被内部调用的工具包,不应该直接调用程序。
public void repaint(long tm, int x, int y, int width, int height)
repaint
方法重写,继承类
Component
tm
-不使用此参数
x
-脏地区的X值
y
-脏区域的Y值
width
-脏区宽度
height
-脏区高度
isPaintingOrigin()
,
Component.isShowing()
,
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)
public void repaint(Rectangle r)
r
-
Rectangle
含有脏区
isPaintingOrigin()
,
Component.isShowing()
,
RepaintManager.addDirtyRegion(javax.swing.JComponent, int, int, int, int)
public void revalidate()
电话invalidate
然后添加这个组件的validateRoot
一列,需要验证组件。确认将发生在所有当前正在等待的事件之后。换句话说,在调用此方法后,第一validateroot(如果有)发现,当走上这个组件的层次结构将被确认。默认情况下,JRootPane
,JScrollPane
,和JTextField
还真从isValidateRoot
。
此方法将在属性值更改时自动调用此组件,这样该组件的大小、位置或内部布局已受到影响。这个自动更新不同于AWT因为程序一般不再需要调用validate
获得GUI的内容更新。
public boolean isValidateRoot()
revalidate
调用这个组件的后代将导致与这根整棵树开始被验证。默认返回错误。
JScrollPane
重写该方法返回true。
isValidateRoot
方法重写,继承类
Container
revalidate()
,
Component.invalidate()
,
Container.validate()
,
Container.isValidateRoot()
public boolean isOptimizedDrawingEnabled()
JComponent
子类,不能做出这样的保证,如
JLayeredPane
,应重写此方法返回false。
protected boolean isPaintingOrigin()
true
如果油漆引发的子组件应引起画起源于这个组件,或其祖先之一。
在Swing组件调用repaint(long, int, int, int, int)
或paintImmediately(int, int, int, int)
将导致调用的始祖,isPaintingOrigin()
true
paintImmediately(int, int, int, int)
回报的方法,如果有任何。
JComponent
子类需要涂时,任何孩子粉刷应重写此方法以返回true
。
false
paintImmediately(int, int, int, int)
public void paintImmediately(int x, int y, int w, int h)
很少有必要调用这个方法。在大多数情况下,它是更有效的调用重绘,这会将实际的绘画,可以折叠成一个单一的涂料称为冗余请求。此方法是有用的,如果一个需要更新显示,而当前事件正在被发送。
该方法被重写时,肮脏的区域需要,绘画起源成分变化。
x
- X值的区域被涂
y
-区域涂成Y值
w
-区域被涂的宽度
h
-区域被画的高度
repaint(long, int, int, int, int)
,
isPaintingOrigin()
public void paintImmediately(Rectangle r)
r
-
Rectangle
包含区域被涂
public void setDoubleBuffered(boolean aFlag)
Component
缓冲和它的祖先的祖先也是缓冲,缓冲区将被使用。
aFlag
-如果属实,将该组件进行双缓冲
public boolean isDoubleBuffered()
isDoubleBuffered
方法重写,继承类
Component
public JRootPane getRootPane()
JRootPane
祖先。
JRootPane
,或
null
如果没有
JRootPane
发现
protected String paramString()
JComponent
字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能会在实现过程中有所不同。返回的字符串是空的但可能不
null
。
paramString
方法重写,继承类
Container
JComponent
字符串表示形式
@Deprecated public void hide()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.