JToolBar

JToolBar是一種存放組件的特殊Swing容器。這個容器可以在我們的Java Applet或是程式中用作工具列,而且可以在程式的主視窗之外浮動或是托拽。JToolBar是一個非常容易使用與理解的簡單組件。

基本介紹

  • 中文名:JToolBar
  • 類別:簡單組件
  • 主要內容:介紹JToolBar
  • 作用:用作工具列
概述,嵌套類摘要,欄位摘要,構造方法摘要,方法摘要,簡單用法,

概述

所有已實現的接口:ImageObserver, MenuContainer, Serializable, Accessible, SwingConstantspublic class JToolBarextends JComponentimplements SwingConstants, Accessible
JToolBar 提供了一個用來顯示常用的 Action 或控制項的組件。有關使用工具列的示例和信息,請參閱 The Java Tutorial 中的 How to Use Tool Bars 一節。 對於大多數的外觀,用戶可以將工具列拖到單獨的視窗中(除非 floatable 屬性被設定為 false)。為了正確執行拖動,建議將 JToolBar 實例添加到容器的四“邊”中的一邊(其中容器的布局管理器為 BorderLayout),並且不在其他四“邊”中添加任何子級。 警告:Swing 不是執行緒安全的。有關更多信息,請參閱 Swing's Threading Policy。 警告:此類的已序列化對象與以後的 Swing 版本不兼容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程式之間進行 RMI(Remote Method Invocation,遠程方法調用)。從 1.4 版本開始,已在 java.beans 包中添加了支持所有 JavaBeans 長期存儲的功能。請參見 XMLEncoder。 另請參見:Action

嵌套類摘要

嵌套類摘要
protected class
JToolBar.AccessibleJToolBar
此類實現對 JToolBar 類的可訪問性支持。
static class
JToolBar.Separator
一個特定於工具列的分隔設定。
從類 javax.swing.JComponent繼承的嵌套類/接口
JComponent.AccessibleJComponent
從類 java.awt.Container繼承的嵌套類/接口
Container.AccessibleAWTContainer
從類 java.awt.Component繼承的嵌套類/接口
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

欄位摘要

從類 javax.swing.JComponent繼承的欄位
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
從類 java.awt.Component繼承的欄位
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
從接口 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
從接口 java.awt.image.ImageObserver繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

構造方法摘要

JToolBar()創建新的工具列;默認的方向為 HORIZONTAL。
JToolBar(int orientation)
創建具有指定 orientation 的新工具列。
JToolBar(String name)
創建一個具有指定 name 的新工具列。
JToolBar(String name, int orientation)
創建一個具有指定 name 和 orientation 的新工具列。

方法摘要

JButton
add(Action a)
添加一個指派動作的新的 JButton。
protected void
addImpl(Component comp, Object constraints, int index)
在添加 JButton 時,它最初被設定為 disabled。
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。
getComponentAtIndex(int i)
返回指定索引位置的組件。
int
getComponentIndex(Component c)
返回指定組件的索引。
Insets
getMargin()
返回工具列框線和它的按鈕之間的空白。
int
getOrientation()
返回工具列的當前方向。
ToolBarUI
getUI()
返回工具列的當前 UI。
getUIClassID()
返回呈現此組件的 L&F 類的名稱。
boolean
isBorderPainted()
獲取 borderPainted 屬性。
boolean
isFloatable()
獲取 floatable 屬性。
boolean
isRollover()
返回 rollover 狀態。
protected void
paintBorder(Graphics g)
如果 borderPainted 屬性為 true,則繪製工具列框線。
protected String
paramString()
返回此 JToolBar 的字元串表示形式。
void
setBorderPainted(boolean b)
設定 borderPainted 屬性,如果需要繪製框線,則此屬性為 true。
void
setFloatable(boolean b)
設定 floatable 屬性,如果要移動工具列,此屬性必須設定為 true。
void
setLayout(LayoutManager mgr)
設定此容器的布局管理器。
void
setMargin(Insets m)
設定工具列框線和它的按鈕之間的空白。
void
setOrientation(int o)
設定工具列的方向。
void
setRollover(boolean rollover)
設定此工具列的 rollover 狀態。
void
setUI(ToolBarUI ui)
設定呈現此組件的 L&F 對象。
void
updateUI()
UIFactory 發出的關於 L&F 已更改的通知。

簡單用法

如果需要使用JToolBar,只需要通過上面提出的構造方法創建一個JToolBar對象。
在默認情況下,工具列是以水平方向進行創建的。然而,我們可以通過JToolBar的常量HORIZONTAL與VERTICAL顯示指定方向。
而且在默認情況下,工具列是可以浮動的。所以,如果我們使用水平方向創建一個工具列,用戶可以在視窗周圍拖動工具列來改變工具列的方向。
一旦我們擁有一個JToolBar,我們需要向其中添加組件。任意的Component都可以添加到工具列。當處理水平工具列時,由於美觀的原因,如果工具列的組件是大致相同的高度時是最好的。對於垂直工具列,如果工具列組件具有大致相同的寬度則是最好的。JToolBar類只定義了一個方法用於添加工具列項目;其他的方法,例如add(Component)是由Container繼承而來的。另外,我們可以向工具列添加分隔設定。
public JButton add(Action action);
public void addSeparator();
public void addSeparator(Dimension size);
當使用JToolBar的add(Action)方法時,所添加的Action被封閉在一個JButton對象中。這與向JMenu或是JPopupMenu組件添加Action不同,在後一種情況中,所添加的是JMenuItem對象。對於JMenu與JPopupMenu,以這種方式添加Action是類的Javadoc中所不推薦的。對於分隔設定,如果我們沒有指定尺寸,所安裝的觀感會強制默認的尺寸設定。
由工具列移除組件可以使用下面的方法:
public void remove(Component component)

相關詞條

熱門詞條

聯絡我們