SWING - JComponent 类

简介

JComponent 类是除顶级容器之外的所有 Swing 组件的基类。 要使用从 JComponent 继承的组件,您必须将该组件放置在根为顶级 SWING 容器的包含层次结构中。


类声明

以下是 javax.swing.JComponent 类的声明 −

public abstract class JComponent
   extends Container
      implements Serializable

字段

以下是 java.awt.Component 类的字段 −

  • protected AccessibleContext accessibleContext − 与此 JComponent 关联的 AccessibleContext。

  • protected EventListenerList listenerList − 此组件的事件侦听器列表。

  • static String TOOL_TIP_TEXT_KEY − 当光标在组件上时显示的注释,也称为 "value tip", "flyover help", or "flyover label"。

  • protected ComponentUI ui − 此组件的外观委托。

  • static int UNDEFINED_CONDITION − 某些 API 使用的常量表示未定义条件。

  • static int WHEN_ANCESTOR_OF_FOCUSED_COMPONENT − 用于 registerKeyboardAction 的常量,这意味着当接收组件是焦点组件的祖先或本身是焦点组件时,应调用该命令。

  • static int WHEN_FOCUSED − 用于 registerKeyboardAction 的常量,这意味着当组件获得焦点时应该调用该命令。

  • static int WHEN_IN_FOCUSED_WINDOW − 用于 registerKeyboardAction 的常量,这意味着当接收组件位于具有焦点的窗口中或本身是焦点组件时,应调用该命令。


类构造函数

序号 构造函数 & 描述
1

JComponent()

默认 JComponent 构造函数。


类方法

序号 方法 & 描述
1

void addAncestorListener(AncestorListener listener)

注册侦听器,以便在其或其任何祖先移动或可见或不可见时接收 AncestorEvents。

2

void addNotify()

通知该组件它现在有一个父组件。

3

void addVetoableChangeListener(VetoableChangeListener listener)

将 VetoableChangeListener 添加到侦听器列表。

4

void computeVisibleRect(Rectangle visibleRect)

返回组件的"可见矩形"——该组件的可见矩形与其所有祖先的交集。

5

boolean contains(int x, int y)

使 UI 委托有机会定义此组件的精确形状,以便进行鼠标处理。

6

JToolTip createToolTip()

返回用于显示工具提示的 JToolTip 实例。

7

void disable()

已弃用。从 JDK 版本 1.1 开始,由 java.awt.Component.setEnabled(boolean) 取代。

8

void enable()

已弃用。 从 JDK 1.1 版开始,由 java.awt.Component.setEnabled(boolean) 取代。

9

void firePropertyChange(String propertyName, boolean oldValue, boolean newValue)

支持报告布尔属性的绑定属性更改。

10

void firePropertyChange(String propertyName, char oldValue, char newValue)

报告绑定的属性更改。

11

void firePropertyChange(String propertyName, int oldValue, int newValue)

支持报告整数属性的绑定属性更改。

12

protected void fireVetoableChange(String propertyName, Object oldValue, Object newValue)

支持报告受约束的属性更改。

13

AccessibleContext getAccessibleContext()

返回与此 JComponent 关联的 AccessibleContext。

14

ActionListener getActionForKeyStroke(KeyStroke aKeyStroke)

返回将执行为给定击键注册的操作的对象。

15

ActionMap getActionMap()

返回用于确定要为特定 KeyStroke 绑定触发什么 Action 的 ActionMap。

16

float getAlignmentX()

覆盖 Container.getAlignmentX 以返回垂直对齐方式。

17

float getAlignmentY()

覆盖 Container.getAlignmentY 以返回水平对齐方式。

18

AncestorListener[]getAncestorListeners()

返回在此组件上注册的所有祖先侦听器的数组。

19

boolean getAutoscrolls()

获取自动滚动属性。

20

int getBaseline(int width, int height)

返回基线。

21

Component.BaselineResizeBehavior getBaselineResizeBehavior()

返回一个枚举,指示组件的基线如何随着大小的变化而变化。

22

Border getBorder()

返回此组件的边框,如果当前未设置边框,则返回 null。

23

Rectangle getBounds(Rectangle rv)

将此组件的边界存储到"返回值"rv 中并返回 rv。

24

Object getClientProperty(Object key)

返回具有指定键的属性的值。

25

protected Graphics getComponentGraphics(Graphics g)

返回用于绘制此组件的图形对象。

26

JPopupMenu getComponentPopupMenu()

返回分配给该组件的 JPopupMenu。

27

int getConditionForKeyStroke(KeyStroke aKeyStroke)

返回确定注册操作是否响应指定击键的条件。

28

int getDebugGraphicsOptions()

返回图形调试状态。

29

static Locale getDefaultLocale()

返回用于在创建时初始化每个 JComponent 的语言环境属性的默认语言环境。

30

FontMetrics getFontMetrics(Font font)

获取指定字体的 FontMetrics。

31

Graphics getGraphics()

返回此组件的图形上下文,它允许您在组件上绘制。

32

int getHeight()

返回此组件的当前高度。

33

boolean getInheritsPopupMenu()

如果 JPopupMenu 应该从父级继承,则返回 true。

34

InputMap getInputMap()

返回组件具有焦点时使用的 InputMap。

35

InputMap getInputMap(int condition)

返回条件期间使用的 InputMap。

36

InputVerifier getInputVerifier()

返回此组件的输入验证器。

37

Insets getInsets()

如果此组件上设置了边框,则返回边框的插图; 否则调用 super.getInsets

38

Insets getInsets(Insets insets)

返回包含此组件的 inset 值的 Insets 对象。

39

<T extends EventListener> T[] getListeners(Class<T> listenerType)

返回当前在此 JComponent 上注册为 FooListeners 的所有对象的数组。

40

Point getLocation(Point rv)

将此组件的 x,y 原点存储到"返回值"rv 并返回 rv

41

Dimension getMaximumSize()

如果最大大小已设置为非空值,则返回它。

42

Dimension getMinimumSize()

如果最小大小已设置为非空值,则返回它。

43

Component getNextFocusableComponent()

已弃用。 从 1.4 开始,由 FocusTraversalPolicy 取代。

44

Point getPopupLocation(MouseEvent event)

返回在此组件的坐标系中显示弹出菜单的首选位置。

45

Dimension getPreferredSize()

如果 preferredSize 已设置为非空值,则返回它。

46

KeyStroke[] getRegisteredKeyStrokes()

返回将启动注册操作的 KeyStrokes。

47

JRootPane getRootPane()

返回此组件的 JRootPane 祖先。

48

Dimension getSize(Dimension rv)

将此组件的宽度/高度存储到"返回值"rv 中并返回rv

49

Point getToolTipLocation(MouseEvent event)

返回此组件坐标系中的工具提示位置。

50

String getToolTipText()

返回已使用 setToolTipText 设置的工具提示字符串。

51

String getToolTipText(MouseEvent event)

返回要用作事件工具提示的字符串。

52

Container getTopLevelAncestor()

返回此组件的顶级祖先(包含的 Window 或 Applet),如果此组件尚未添加到任何容器,则返回 null。

53

TransferHandler getTransferHandler()

获取 transferHandler 属性。

54

String getUIClassID()

返回 UIDefaults 键,用于查找定义此组件外观的 swing.plaf.ComponentUI 类的名称。

55

boolean getVerifyInputWhenFocusTarget()

返回指示当前焦点所有者的输入验证器是否会在此组件请求焦点之前被调用的值。

56

VetoableChangeListener[] getVetoableChangeListeners()

返回在此组件上注册的所有可否决更改侦听器的数组。

57

Rectangle getVisibleRect()

返回组件的"可见矩形"——该组件的可见矩形、new rectangle(0, 0, getWidth(), getHeight()) 及其所有祖先的可见矩形的交集。

58

int getWidth()

返回此组件的当前宽度。

59

int getX()

返回组件原点的当前 x 坐标。

60

int getY()

返回组件原点的当前 y 坐标。

61

void grabFocus()

请求该组件获得输入焦点,并且该组件的顶级祖先成为焦点窗口。

62

boolean isDoubleBuffered()

返回此组件是否应使用缓冲区进行绘制。

63

static boolean isLightweightComponent(Component c)

如果此组件是轻量级的,即如果它没有本机窗口系统对等点,则返回 true。

64

boolean isManagingFocus()

已弃用。从 1.4 开始,由 Component.setFocusTraversalKeys(int, Set) 和 Container.setFocusCycleRoot(boolean) 取代。

65

boolean isOpaque()

如果此组件完全不透明,则返回 true。

66

boolean isOptimizedDrawingEnabled()

如果此组件平铺其子级,即它可以保证子级不会重叠,则返回 true。

67

boolean isPaintingForPrint()

如果此组件上的当前绘制操作是打印操作的一部分,则返回 true。

68

boolean isPaintingTile()

如果组件当前正在绘制图块,则返回 true。

69

boolean isRequestFocusEnabled()

如果此 JComponent 应该获得焦点,则返回 true; 否则返回假。

70

boolean isValidateRoot()

如果此方法返回 true,则此组件的后代的 revalidate 调用将导致以此根开始的整个树进行验证。

71

void paint(Graphics g)

由 Swing 调用以绘制组件。

72

protected void paintBorder(Graphics g)

绘制组件的边框。

73

protected void paintChildren(Graphics g)

绘制此组件的子组件。

74

protected void paintComponent(Graphics g)

如果 UI 委托为非 null,则调用 UI 委托的绘制方法。

75

void paintImmediately(int x, int y, int w, int h)

立即绘制此组件中的指定区域及其与该区域重叠的所有后代。

76

void paintImmediately(Rectangle r)

现在绘制指定区域。

77

protected String paramString()

返回此 JComponent 的字符串表示形式。

78

void print(Graphics g)

调用此方法将组件打印到指定的 Graphics。

79

void printAll(Graphics g)

调用此方法来打印组件。

80

protected void printBorder(Graphics g)

打印组件的边框。

81

protected void printChildren(Graphics g)

打印此组件的子组件。

82

protected void printComponent(Graphics g)

这是在打印操作期间调用的。

83

protected void processComponentKeyEvent(KeyEvent e)

处理组件本身识别的任何关键事件。

84

protected boolean processKeyBinding(KeyStroke ks, KeyEvent e, int condition, boolean pressed)

调用以处理 ks 作为 KeyEvent e 的结果的键绑定。

85

protected void processKeyEvent(KeyEvent e)

覆盖 processKeyEvent 以处理事件。

86

protected void processMouseEvent(MouseEvent e)

通过将在此组件上发生的鼠标事件分派给任何已注册的 MouseListener 对象来处理它们,有关此方法的完整描述,请参阅 Component.processMouseEvent(MouseEvent)。

87

protected void processMouseMotionEvent(MouseEvent e)

处理鼠标运动事件,例如 MouseEvent.MOUSE_DRAGGED。

88

void putClientProperty(Object key, Object value)

向该组件添加任意键/值"客户端属性"。

89

void registerKeyboardAction(ActionListener anAction, KeyStroke aKeyStroke, int aCondition)

此方法现已过时,请结合使用 getActionMap() 和 getInputMap() 以获得类似行为。

90

void registerKeyboardAction(ActionListener anAction, String aCommand, KeyStroke aKeyStroke, int aCondition)

此方法现已过时,请结合使用 getActionMap() 和 getInputMap() 以获得类似行为。

91

void removeAncestorListener(AncestorListener listener)

取消注册侦听器,使其不再接收 AncestorEvents。

92

void removeNotify()

通知该组件它不再有父组件。

93

void removeVetoableChangeListener(VetoableChangeListener listener)

从侦听器列表中删除 VetoableChangeListener。

94

void repaint(long tm, int x, int y, int width, int height)

如果组件正在显示,则将指定区域添加到脏区域列表。

95

void repaint(Rectangle r)

如果组件正在显示,则将指定区域添加到脏区域列表。

96

boolean requestDefaultFocus()

已弃用。从 1.4 开始,由 FocusTraversalPolicy.getDefaultComponent(Container).requestFocus() 取代

97

void requestFocus()

请求此组件获得输入焦点。

98

boolean requestFocus(boolean temporary)

请求此组件获得输入焦点。

99

boolean requestFocusInWindow()

请求此组件获得输入焦点。

100

protected boolean requestFocusInWindow(boolean temporary)

请求此组件获得输入焦点。

101

void resetKeyboardActions()

取消注册第一层 InputMaps 和 ActionMap 中的所有绑定。

102

void reshape(int x, int y, int w, int h)

已弃用。从 JDK 5 开始,由 Component.setBounds(int, int, int, int) 取代。移动并调整此组件的大小。

103

void revalidate()

支持延迟自动布局。

104

void scrollRectToVisible(Rectangle aRect)

将 scrollRectToVisible() 消息转发给 JComponent 的父级。

105

void setActionMap(ActionMap am)

将 ActionMap 设置为 am。

106

void setAlignmentX(float alignmentX)

设置垂直对齐方式。

107

void setAlignmentY(float alignmentY)

设置水平对齐方式。

108

void setAutoscrolls(boolean autoscrolls)

设置自动滚动属性。

109

void setBackground(Color bg)

设置此组件的背景颜色。

110

void setBorder(Border border)

设置此组件的边框。

111

void setComponentPopupMenu(JPopupMenu popup)

设置此 JComponent 的 JPopupMenu。

112

void setDebugGraphicsOptions(int debugOptions)

启用或禁用有关在组件或其子组件中执行的每个图形操作的诊断信息。

113

static void setDefaultLocale(Locale l)

设置用于在创建时初始化每个 JComponent 的语言环境属性的默认语言环境。

114

void setDoubleBuffered(boolean aFlag)

设置此组件是否应使用缓冲区进行绘制。

115

void setEnabled(boolean enabled)

设置是否启用此组件。

116

void setFocusTraversalKeys(int id, Set<? extends AWTKeyStroke> keystrokes)

为此组件的给定遍历操作设置焦点遍历键。

117

void setFont(Font font)

设置此组件的字体。

118

void setForeground(Color fg)

设置此组件的前景色。

119

void setInheritsPopupMenu(boolean value)

设置 getComponentPopupMenu 是否应该委托给父组件,如果此组件没有分配给它的 JPopupMenu。

120

void setInputMap(int condition, InputMap map)

设置要在 condition 条件下使用的 InputMap 进行映射。

121

void setInputVerifier(InputVerifier inputVerifier)

设置此组件的输入验证器。

122

void setMaximumSize(Dimension maximumSize)

将此组件的最大尺寸设置为一个常数值。

123

void setMinimumSize(Dimension minimumSize)

将此组件的最小尺寸设置为一个常数值。

124

void setNextFocusableComponent(Component aComponent)

已弃用。 从 1.4 开始,被 FocusTraversalPolicy 取代

125

void setOpaque(boolean isOpaque)

如果为 true,则组件绘制其边界内的每个像素。

126

void setPreferredSize(Dimension preferredSize)

设置此组件的首选大小。

127

void setRequestFocusEnabled(boolean requestFocusEnabled)

提供有关此 JComponent 是否应获得焦点的提示。

128

void setToolTipText(String text)

注册要在工具提示中显示的文本。

129

void setTransferHandler(TransferHandler newHandler)

设置 transferHandler 属性,如果组件不支持数据传输操作,则为 null。

130

protected void setUI(ComponentUI newUI)

设置此组件的外观委托。

131

void setVerifyInputWhenFocusTarget(boolean verifyInputWhenFocusTarget)

设置该值以指示在此组件请求焦点之前是否会调用当前焦点所有者的输入验证器。

132

void setVisible(boolean aFlag)

使组件可见或不可见。

133

void unregisterKeyboardAction(KeyStroke aKeyStroke)

此方法现已过时。

134

void update(Graphics g)

调用 paint。

135

void updateUI()

将 UI 属性重置为当前外观的值。


继承的方法

这个类继承了以下类的方法 −

  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

❮ SWING 控件