- 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 classJToolBar.AccessibleJToolBar该类实现JToolBar类的辅助功能支持。static classJToolBar.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 方法 描述 JButtonadd(Action a)添加一个新的JButton它调度该操作。protected voidaddImpl(Component comp, Object constraints, int index)如果添加了JButton,则初始设置为禁用。voidaddSeparator()将默认大小的分隔符附加到工具栏的末尾。voidaddSeparator(Dimension size)将指定大小的分隔符追加到工具栏的末尾。protected PropertyChangeListenercreateActionChangeListener(JButton b)返回正确配置的PropertyChangeListener,如果需要控件的默认属性更改监听器,则更新控件作为Action发生的更改,或null。protected JButtoncreateActionComponent(Action a)为Action创建JButton工厂方法添加到JToolBar。AccessibleContextgetAccessibleContext()获取与此JToolBar关联的AccessibleContext。ComponentgetComponentAtIndex(int i)返回指定索引处的组件。intgetComponentIndex(Component c)返回指定组件的索引。InsetsgetMargin()返回工具栏边框与其按钮之间的边距。intgetOrientation()返回工具栏的当前方向。ToolBarUIgetUI()返回工具栏的当前UI。StringgetUIClassID()返回呈现此组件的L&F类的名称。booleanisBorderPainted()获取borderPainted属性。booleanisFloatable()获取floatable属性。booleanisRollover()返回翻转状态。protected voidpaintBorder(Graphics g)如果borderPainted属性为true则绘制工具栏的边框。protected StringparamString()返回此JToolBar的字符串表示JToolBar。voidsetBorderPainted(boolean b)设置borderPainted属性,如果要绘制边框,则为true。voidsetFloatable(boolean b)设置floatable属性,必须为true才能使用户移动工具栏。voidsetLayout(LayoutManager mgr)设置此容器的布局管理器。voidsetMargin(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-voidsetOrientation(int o)设置工具栏的方向。voidsetRollover(boolean rollover)设置此工具栏的翻转状态。voidsetUI(ToolBarUI ui)设置渲染此组件的L&F对象。voidupdateUI()来自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-ToolBarUIL&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
-
-