JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 Box

java.lang.Object
  繼承者 java.awt.Component
      繼承者 java.awt.Container
          繼承者 javax.swing.JComponent
              繼承者 javax.swing.Box
所有已實作的介面:
ImageObserver, MenuContainer, Serializable, Accessible

public class Box
extends JComponent
implements Accessible

使用 BoxLayout 物件作為其佈局管理器的一個輕量級容器。Box 提供幾個對使用 BoxLayout 的容器(甚至非 Box 容器)有用的類別方法。

Box 類別可以創建幾種影響佈局的不可見元件:glue、struts 和 rigid 區域。如果 Box 套件含的所有元件都有一個固定大小,可以使用 glue 元件(由 createGlue 返回)來控制元件的位置。如果想讓兩個元件之間有一個固定的空間量,可以嘗試使用 strut(createHorizontalStrutcreateVerticalStrut)。如果需要一個總是佔用相同空間量的不可見元件,可以通過調用 createRigidArea 獲得。

如果要實作一個 BoxLayout,可以在 The Java TutorialHow to Use BoxLayout 一節中獲得更多資訊和範例。

警告:此類別的已序列化物件與以後的 Swing 版本不相容。當前序列化支持適用於短期存儲,或適用於在運行相同 Swing 版本的應用程序之間進行 RMI(Remote Method Invocation,遠端方法調用)。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder

另請參見:
BoxLayout

巢狀類別摘要
protected  class Box.AccessibleBox
          此類別實作 Box 類別的可存取性支持。
static class Box.Filler
          參與佈局但沒有視圖的輕量級元件的實作。
 
從類別 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
 
從介面 java.awt.image.ImageObserver 繼承的欄位
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
建構子摘要
Box(int axis)
          創建一個沿指定坐標軸顯示其元件的 Box
 
方法摘要
static Component createGlue()
          創建一個不可見的 "glue" 元件,其可見元件有一個最大寬度(對於橫向 box)或高度(對於縱向 box)的 Box,該元件可能很有用。
static Box createHorizontalBox()
          創建一個從左到右顯示其元件的 Box
static Component createHorizontalGlue()
          創建一個橫向 glue 元件。
static Component createHorizontalStrut(int width)
          創建一個不可見的、固定寬度的元件。
static Component createRigidArea(Dimension d)
          創建一個總是具有指定大小的不可見元件。
static Box createVerticalBox()
          創建一個從上到下顯示其元件的 Box
static Component createVerticalGlue()
          創建一個縱向 glue 元件。
static Component createVerticalStrut(int height)
          創建一個不可見的、固定高度的元件。
 AccessibleContext getAccessibleContext()
          獲取與此 Box 相關聯的 AccessibleContext。
protected  void paintComponent(Graphics g)
          繪製此 Box
 void setLayout(LayoutManager l)
          拋出一個 AWTError,因為 Box 只能使用 BoxLayout。
 
從類別 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, 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, updateUI
 
從類別 java.awt.Container 繼承的方法
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, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
從類別 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, transferFocusUpCycle
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

建構子詳細資訊

Box

public Box(int axis)
創建一個沿指定坐標軸顯示其元件的 Box

參數:
axis - 可以是 BoxLayout.X_AXISBoxLayout.Y_AXISBoxLayout.LINE_AXISBoxLayout.PAGE_AXIS
拋出:
AWTError - 如果 axis 無效
另請參見:
createHorizontalBox(), createVerticalBox()
方法詳細資訊

createHorizontalBox

public static Box createHorizontalBox()
創建一個從左到右顯示其元件的 Box。如果想創建一個遵守該元件方向的 Box,則應使用建構子並傳入 BoxLayout.LINE_AXIS 來創建 Box,例如:
   Box lineBox = new Box(BoxLayout.LINE_AXIS);
 

返回:
box

createVerticalBox

public static Box createVerticalBox()
創建一個從上到下顯示其元件的 Box。如果想創建一個遵守該元件方向的 Box,則應使用建構子並傳入 BoxLayout.PAGE_AXIS 來創建 Box,例如:
   Box lineBox = new Box(BoxLayout.PAGE_AXIS);
 

返回:
box

createRigidArea

public static Component createRigidArea(Dimension d)
創建一個總是具有指定大小的不可見元件。

參數:
d - 不可見元件的尺寸
返回:
該元件
另請參見:
createGlue(), createHorizontalStrut(int), createVerticalStrut(int)

createHorizontalStrut

public static Component createHorizontalStrut(int width)
創建一個不可見的、固定寬度的元件。在一個橫向 box 中,通常使用此方法強行使兩個元件之間具有某一空間量。在一個縱向 box 中,可以使用此方法強行使 box 至少具有指定寬度。只有存在可用的剩餘空間時,不可見元件才有高度,在這種情況下,就像其他任何沒有最大高度的元件一樣,它將採用其可用的共享空間。

參數:
width - 不可見元件的寬度,以像素為單位,該寬度 >= 0
返回:
該元件
另請參見:
createVerticalStrut(int), createGlue(), createRigidArea(java.awt.Dimension)

createVerticalStrut

public static Component createVerticalStrut(int height)
創建一個不可見的、固定高度的元件。在一個縱向 box 中,通常使用此方法強行使兩個元件之間具有某一空間量。在一個橫向 box 中,可以使用此方法強行使 box 至少具有指定高度。只有具有可用的剩餘空間時,不可見元件才有寬度,在這種情況下,就像其他任何沒有最大寬度的元件一樣,它將採用其可用的共享空間。

參數:
height - 不可見元件的高度,以像素為單位,該高度 >= 0
返回:
該元件
另請參見:
createHorizontalStrut(int), createGlue(), createRigidArea(java.awt.Dimension)

createGlue

public static Component createGlue()
創建一個不可見的 "glue" 元件,其可見元件有一個最大寬度(對於橫向 box)或高度(對於縱向 box)的 Box,該元件可能很有用。可將該 glue 元件視為一種粘性物質,它盡其所需地進行擴展,以填充與其相鄰元件間的空間。

例如,假定有一個套件含兩個固定大小元件的橫向 box。如果 box 獲得額外的空間,而這兩個固定大小的元件不會變得更大,那麼額外的空間放到哪去呢?在沒有 glue 的情況下,額外的空間將放到第二個元件的右邊。如果將 glue 放在兩個固定大小元件之間,則額外的空間將放到那裡。如果將 glue 放在第一個固定大小元件的前面,則額外的空間將放到那裡,兩個固定大小的元件將被擠到 box 的右邊緣。如果將 glue 放在第一個固定大小元件之前,第二個固定大小元件之後,則這兩個固定大小元件將被擠到 box 的中心。

要使用 glue,請調用 Box.createGlue,並將返回的元件添加到容器中。glue 元件沒有最小大小或首選大小,因此只有剩餘的空間可用時,它才佔用空間。如果剩餘的空間可用,那麼就像其他任何沒有最大寬度或高度的元件一樣,glue 元件將佔用其可用的共享橫向或縱向空間。

返回:
元件

createHorizontalGlue

public static Component createHorizontalGlue()
創建一個橫向 glue 元件。

返回:
元件

createVerticalGlue

public static Component createVerticalGlue()
創建一個縱向 glue 元件。

返回:
元件

setLayout

public void setLayout(LayoutManager l)
拋出一個 AWTError,因為 Box 只能使用 BoxLayout。

覆寫:
類別 Container 中的 setLayout
參數:
l - 要使用的佈局管理器
另請參見:
Container.doLayout(), Container.getLayout()

paintComponent

protected void paintComponent(Graphics g)
繪製此 Box。如果此 Box 具有一個 UI,則此方法調用 super 的實作,否則,如果此 Box 是不透明的,則使用背景填充 Graphics

覆寫:
類別 JComponent 中的 paintComponent
參數:
g - 要繪製的 Graphics
拋出:
NullPointerException - 如果 g 為 null
從以下版本開始:
1.6
另請參見:
JComponent.paint(java.awt.Graphics), ComponentUI

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 Box 相關聯的 AccessibleContext。對於 box 來說,AccessibleContext 採用 AccessibleAWTDialog 的形式。如有必要,可創建一個新的 AccessibleAWTBox 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JComponent 中的 getAccessibleContext
返回:
一個 AccessibleBox,它充當此 Box 的 AccessibleContext。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only