- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JToolBar
-
- All Implemented Interfaces:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,SwingConstants
@JavaBean(defaultProperty="UI", description="A component which displays commonly used controls or Actions.") public class JToolBar extends JComponent implements SwingConstants, Accessible
JToolBar
提供了一个组件,可用于显示常用的Action
或控件。 有关使用工具栏的示例和信息,请参阅“Java教程”中的“ How to Use Tool Bars ”一节。大多数外观和感觉,用户可以将工具栏拖出到单独的窗口中(除非
floatable
属性设置为false
)。 要使拖出工作正常,建议您将JToolBar
实例添加到其布局管理器为BorderLayout
的容器的四个“侧”之一中,并且不要将子项添加到其他四个“边”中的任何一个。警告: Swing不是线程安全的。 欲了解更多信息,请参阅Swing's Threading Policy 。
警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4版本开始,所有JavaBeans的长期存储支持已被添加到
java.beans
软件包中。 请参阅XMLEncoder
。- 从以下版本开始:
- 1.2
- 另请参见:
-
Action
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 protected class
JToolBar.AccessibleJToolBar
该类实现JToolBar
类的辅助功能支持。static class
JToolBar.Separator
工具栏特定的分隔符。-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
-
Field Summary
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 JButton
add(Action a)
添加一个新的JButton
它调度该操作。protected void
addImpl(Component comp, Object constraints, int index)
如果添加了JButton
,则初始设置为禁用。void
addSeparator()
将默认大小的分隔符附加到工具栏的末尾。void
addSeparator(Dimension size)
将指定大小的分隔符追加到工具栏的末尾。protected PropertyChangeListener
createActionChangeListener(JButton b)
返回正确配置的PropertyChangeListener
,如果需要控件的默认属性更改监听器,则更新控件作为Action
发生的更改,或null
。protected JButton
createActionComponent(Action a)
为Action
创建JButton
工厂方法添加到JToolBar
。AccessibleContext
getAccessibleContext()
获取与此JToolBar关联的AccessibleContext。Component
getComponentAtIndex(int i)
返回指定索引处的组件。int
getComponentIndex(Component c)
返回指定组件的索引。Insets
getMargin()
返回工具栏边框与其按钮之间的边距。int
getOrientation()
返回工具栏的当前方向。ToolBarUI
getUI()
返回工具栏的当前UI。String
getUIClassID()
返回呈现此组件的L&F类的名称。boolean
isBorderPainted()
获取borderPainted
属性。boolean
isFloatable()
获取floatable
属性。boolean
isRollover()
返回翻转状态。protected void
paintBorder(Graphics g)
如果borderPainted
属性为true
则绘制工具栏的边框。protected String
paramString()
返回此JToolBar
的字符串表示JToolBar
。void
setBorderPainted(boolean b)
设置borderPainted
属性,如果要绘制边框,则为true
。void
setFloatable(boolean b)
设置floatable
属性,必须为true
才能使用户移动工具栏。void
setLayout(LayoutManager mgr)
设置此容器的布局管理器。void
setMargin(Insets m)
X- 200 X- 200 200 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X-void
setOrientation(int o)
设置工具栏的方向。void
setRollover(boolean rollover)
设置此工具栏的翻转状态。void
setUI(ToolBarUI ui)
设置渲染此组件的L&F对象。void
updateUI()
来自UIFactory
通知表明L&F已经改变了。-
Methods inherited from class java.awt.Component
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, 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, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
-
-
-
构造方法详细信息
-
JToolBar
public JToolBar()
创建一个新的工具栏; 方向默认为HORIZONTAL
。
-
JToolBar
public JToolBar(int orientation)
创建一个新的工具栏与指定的orientation
。orientation
必须是HORIZONTAL
或VERTICAL
。- 参数
-
orientation
- 所需的方向
-
JToolBar
public JToolBar(String name)
用指定的name
创建一个新的工具栏。 该名称用作取消停靠的工具栏的标题。 默认方向为HORIZONTAL
。- 参数
-
name
- 工具栏的名称 - 从以下版本开始:
- 1.3
-
JToolBar
public JToolBar(String name, int orientation)
创建一个新的工具栏与指定的name
和orientation
。 所有其他构造函数都调用此构造函数。 如果orientation
是无效值,将抛出异常。- 参数
-
name
- 工具栏的名称 -
orientation
- 初始方向 - 它必须是HORIZONTAL
或VERTICAL
- 异常
-
IllegalArgumentException
- 如果方向既不是HORIZONTAL
也不是VERTICAL
- 从以下版本开始:
- 1.3
-
-
方法详细信息
-
getUI
public ToolBarUI getUI()
返回工具栏的当前UI。- 重写:
-
getUI
在JComponent
- 结果
- 工具栏当前的UI。
- 另请参见:
-
setUI(javax.swing.plaf.ToolBarUI)
-
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(ToolBarUI ui)
设置渲染此组件的L&F对象。- 参数
-
ui
-ToolBarUI
L&F对象 - 另请参见:
-
UIDefaults.getUI(javax.swing.JComponent)
-
updateUI
public void updateUI()
来自UIFactory
通知,L&F已经改变了。 被要求用UIFactory
替换最新版本的UIFactory
。- 重写:
-
updateUI
在JComponent
- 另请参见:
-
JComponent.updateUI()
-
getUIClassID
@BeanProperty(bound=false) public String getUIClassID()
返回呈现此组件的L&F类的名称。- 重写:
-
getUIClassID
在JComponent
- 结果
- 字符串“ToolBarUI”
- 另请参见:
-
JComponent.getUIClassID()
,UIDefaults.getUI(javax.swing.JComponent)
-
getComponentIndex
public int getComponentIndex(Component c)
返回指定组件的索引。 (注:分隔符占据索引位置。)- 参数
-
c
-Component
- 结果
- 一个指示组件位置的整数,其中0是第一个
-
getComponentAtIndex
public Component getComponentAtIndex(int i)
返回指定索引处的组件。- 参数
-
i
- 组件的位置,其中0是第一个 - 结果
-
该位置的
Component
,或无效索引的null
-
setMargin
@BeanProperty(expert=true, description="The margin between the tool bar\'s border and contents") public void setMargin(Insets m)
X- 200 X- 200 200 X- 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 200 200 X- 设置为null
导致工具栏使用默认边距。 工具栏的默认值Border
对象使用此值创建适当的边距。 但是,如果在工具栏上设置了非默认边框,则Border
对象有责任创建适当的边距空间(否则此属性将被有效地忽略)。- 参数
-
m
- 一个Insets
对象,它定义边框和按钮之间的空间 - 另请参见:
-
Insets
-
isBorderPainted
public boolean isBorderPainted()
获取borderPainted
属性。- 结果
-
的价值
borderPainted
属性 - 另请参见:
-
setBorderPainted(boolean)
-
setBorderPainted
@BeanProperty(expert=true, description="Does the tool bar paint its borders?") public void setBorderPainted(boolean b)
设置borderPainted
属性,如果要绘制边框,则为true
。 此属性的默认值为true
。 一些外观和感觉可能不会实现画边框; 他们将忽略此属性。- 参数
-
b
- 如果为true,则绘制边框 - 另请参见:
-
isBorderPainted()
-
paintBorder
protected void paintBorder(Graphics g)
如果borderPainted
属性为true
则绘制工具栏的边框。- 重写:
-
paintBorder
在JComponent
- 参数
-
g
- 绘画完成的Graphics
上下文 - 另请参见:
-
JComponent.paint(java.awt.Graphics)
,JComponent.setBorder(javax.swing.border.Border)
-
isFloatable
public boolean isFloatable()
获取floatable
属性。- 结果
-
的价值
floatable
属性 - 另请参见:
-
setFloatable(boolean)
-
setFloatable
@BeanProperty(preferred=true, description="Can the tool bar be made to float by the user?") public void setFloatable(boolean b)
设置floatable
属性,该属性必须为true
才能使用户移动工具栏。 通常,可漂浮的工具栏可以拖入同一容器内的不同位置,或者进入其自己的窗口。 该属性的默认值为true
。 有些外观和感觉可能不会实现浮动工具栏; 他们将忽略此属性。- 参数
-
b
- 如果是true
,工具栏可以移动; 否则为false
- 另请参见:
-
isFloatable()
-
getOrientation
public int getOrientation()
返回工具栏的当前方向。 该值为HORIZONTAL
或VERTICAL
。- 结果
-
表示当前方向的整数 -
HORIZONTAL
或VERTICAL
- 另请参见:
-
setOrientation(int)
-
setOrientation
@BeanProperty(preferred=true, enumerationValues={"SwingConstants.HORIZONTAL","SwingConstants.VERTICAL"}, description="The current orientation of the tool bar") public void setOrientation(int o)
设置工具栏的方向。 方向必须为值HORIZONTAL
或VERTICAL
。 如果orientation
是无效值,将抛出异常。- 参数
-
o
- 新方向 -HORIZONTAL
或VERTICAL
- 异常
-
IllegalArgumentException
- 如果方向既不是HORIZONTAL
也不是VERTICAL
- 另请参见:
-
getOrientation()
-
setRollover
@BeanProperty(preferred=true, visualUpdate=true, description="Will draw rollover button borders in the toolbar.") public void setRollover(boolean rollover)
设置此工具栏的翻转状态。 如果翻转状态为真,则只有当鼠标悬停在其上时,才会绘制工具栏按钮的边框。 此属性的默认值为false。执行外观可以选择忽略此属性。
- 参数
-
rollover
- 用于翻转工具栏按钮的true; 否则为虚假 - 从以下版本开始:
- 1.4
-
isRollover
public boolean isRollover()
返回翻转状态。- 结果
- 如果要绘制翻转工具栏按钮,则为true; 否则为虚假
- 从以下版本开始:
- 1.4
- 另请参见:
-
setRollover(boolean)
-
addSeparator
public void addSeparator()
将默认大小的分隔符附加到工具栏的末尾。 默认尺寸由当前的外观决定。
-
addSeparator
public void addSeparator(Dimension size)
将指定大小的分隔符追加到工具栏的末尾。- 参数
-
size
- 分隔符的Dimension
-
createActionComponent
protected JButton createActionComponent(Action a)
工厂方法为Action
创建JButton
添加到JToolBar
。 如果传递null
操作,默认名称为空。- 参数
-
a
- 要添加的按钮的Action
- 结果
- 新创建的按钮
- 从以下版本开始:
- 1.3
- 另请参见:
-
Action
-
createActionChangeListener
protected PropertyChangeListener createActionChangeListener(JButton b)
返回一个正确配置的PropertyChangeListener
,当更改Action
或null
如果需要该控件的默认属性更改侦听器),则更新该控件。- 参数
-
b
- aJButton
- 结果
-
null
-
addImpl
protected void addImpl(Component comp, Object constraints, int index)
如果添加了一个JButton
,它最初设置为禁用。- 重写:
-
addImpl
在Container
- 参数
-
comp
- 要增强的组件 -
constraints
- 要在组件上强制执行的约束 -
index
- 组件的索引 - 另请参见:
-
Container.add(Component)
,Container.add(Component, int)
,Container.add(Component, java.lang.Object)
,Container.invalidate()
,LayoutManager
,LayoutManager2
-
paramString
protected String paramString()
返回此JToolBar
的字符串表示JToolBar
。 该方法仅用于调试目的,并且返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但可能不是null
。- 重写:
-
paramString
在JComponent
- 结果
-
这个
JToolBar
的字符串表示JToolBar
。
-
setLayout
public void setLayout(LayoutManager mgr)
描述从类复制:Container
设置此容器的布局管理器。该方法更改布局相关信息,因此使组件层次结构无效。
- 重写:
-
setLayout
在Container
- 参数
-
mgr
- 指定的布局管理器 - 另请参见:
-
Container.doLayout()
,Container.getLayout()
,Container.invalidate()
-
getAccessibleContext
@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
获取与此JToolBar关联的AccessibleContext。 对于工具栏,AccessibleContext采用AccessibleJToolBar的形式。 如有必要,将创建一个新的AccessibleJToolBar实例。- Specified by:
-
getAccessibleContext
在接口Accessible
- 重写:
-
getAccessibleContext
在Component
- 结果
- 一个AccessibleJToolBar,用作此JToolBar的AccessibleContext
-
-