JavaTM 2 Platform
Standard Ed. 6

javax.swing.plaf.basic
類別 BasicOptionPaneUI

java.lang.Object
  繼承者 javax.swing.plaf.ComponentUI
      繼承者 javax.swing.plaf.OptionPaneUI
          繼承者 javax.swing.plaf.basic.BasicOptionPaneUI

public class BasicOptionPaneUI
extends OptionPaneUI

JOptionPane 提供基本外觀。BasicMessagePaneUI 提供將圖標、訊息和按鈕置於 Container 中的方法。一般情況下,佈局如下所示:

        ------------------
        | i | message    |
        | c | message    |
        | o | message    |
        | n | message    |
        ------------------
        |     buttons    |
        |________________|
 
圖標是 Icon 的實例,包裹在 JLabel 中。訊息是不透明物件,用於測試:如果訊息為 Component,則將其添加到 Container;如果其為 Icon,則將其包裹在 JLabel 中並添加到 Container,否則將其包裹在 JLabel 中。

當選項窗格的 ComponentOrientation 屬性為水平的從左到右時,使用上述佈局。佈局將針對其他方向進行適當調整。

Container、訊息、圖標和按鈕都是根據抽象方法確定的。


巢狀類別摘要
 class BasicOptionPaneUI.ButtonActionListener
          此內部類別因編譯器故障而被標記為“公開”。
static class BasicOptionPaneUI.ButtonAreaLayout
          ButtonAreaLayout 的行為方式類似於 FlowLayout
 class BasicOptionPaneUI.PropertyChangeHandler
          此內部類別因編譯器故障而被標記為“公開”。
 
欄位摘要
protected  boolean hasCustomComponents
          如果 Component 套件含在訊息或按鈕中,則將其設置為 true。
protected  Component initialFocusComponent
          利用 selectInitialValue 傳遞訊息時接收焦點的元件。
protected  JComponent inputComponent
          如果 optionPane.getWantsInput() 返回 true,則 JComponent 提供輸入。
static int MinimumHeight
           
protected  Dimension minimumSize
           
static int MinimumWidth
           
protected  JOptionPane optionPane
          接收者為其提供外觀的 JOptionPane
protected  PropertyChangeListener propertyChangeListener
           
 
建構子摘要
BasicOptionPaneUI()
           
 
方法摘要
protected  void addButtonComponents(Container container, Object[] buttons, int initialIndex)
          創建表示 buttons 中每個物件的適當對象並將其添加到 container
protected  void addIcon(Container top)
          創建並添加 JLabel,它表示對 top 調用 getIcon 所返回的圖標。
protected  void addMessageComponents(Container container, GridBagConstraints cons, Object msg, int maxll, boolean internallyCreated)
          創建表示 msg 的適當對象並將其置於 container 中。
protected  void burstStringInto(Container c, String d, int maxll)
          遞歸式創建表示 d 的新 JLabel 實例每個 JLabel 實例都將被添加到 c
 boolean containsCustomComponents(JOptionPane op)
          如果在上一次對 validateComponent 的調用中訊息或按鈕包含 Component 的子類別,則返回 true。
protected  ActionListener createButtonActionListener(int buttonIndex)
           
protected  Container createButtonArea()
          創建並返回包含按鈕的 Container。
protected  LayoutManager createLayoutManager()
           
protected  Container createMessageArea()
          從 installComponents 獲取訊息以創建包含訊息正文的 Container。
protected  PropertyChangeListener createPropertyChangeListener()
           
protected  Container createSeparator()
           
static ComponentUI createUI(JComponent x)
          創建一個新的 BasicOptionPaneUI 實例。
protected  Object[] getButtons()
          返回從接收者為其提供外觀的 JOptionPane 顯示的按鈕。
protected  Icon getIcon()
          返回來自接收者為其提供外觀的 JOptionPane 的圖標,或者從 getDefaultIcon 返回的預設圖標。
protected  Icon getIconForType(int messageType)
          返回用於傳入型別的圖標。
protected  int getInitialValueIndex()
          將初始索引返回給要選擇的按鈕。
protected  int getMaxCharactersPerLineCount()
          返回要置於行中的最大字元數。
protected  Object getMessage()
          返回從接收者為其提供外觀的 JOptionPane 顯示的訊息。
 Dimension getMinimumOptionPaneSize()
          返回選項窗格應該具有的最小大小。
 Dimension getPreferredSize(JComponent c)
          如果 c 為包含接收者的 JOptionPane,則返回的首選大小為 JOptionPaneLayoutManager 的最大首選大小和 getMinimumOptionPaneSize
protected  boolean getSizeButtonsToSameWidth()
          返回 true,基本 L&F 希望所有按鈕具有相同的寬度。
protected  void installComponents()
           
protected  void installDefaults()
           
protected  void installKeyboardActions()
           
protected  void installListeners()
           
 void installUI(JComponent c)
          安裝作為傳入 JOptionPane 的 L&F 的接收者。
protected  void resetInputValue()
          基於 inputComponent 中的值,設置接收者為其提供外觀的選項窗格中的輸入值。
 void selectInitialValue(JOptionPane op)
          如果 inputComponent 為非 null,則請求焦點位於其上;否則請求焦點位於預設值上
protected  void uninstallComponents()
           
protected  void uninstallDefaults()
           
protected  void uninstallKeyboardActions()
           
protected  void uninstallListeners()
           
 void uninstallUI(JComponent c)
          從傳入拆分窗格的 L&F 控制器移除接收者。
 
從類別 javax.swing.plaf.ComponentUI 繼承的方法
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, paint, update
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

MinimumWidth

public static final int MinimumWidth
另請參見:
常數欄位值

MinimumHeight

public static final int MinimumHeight
另請參見:
常數欄位值

optionPane

protected JOptionPane optionPane
接收者為其提供外觀的 JOptionPane


minimumSize

protected Dimension minimumSize

inputComponent

protected JComponent inputComponent
如果 optionPane.getWantsInput() 返回 true,則 JComponent 提供輸入。


initialFocusComponent

protected Component initialFocusComponent
利用 selectInitialValue 傳遞訊息時接收焦點的元件。


hasCustomComponents

protected boolean hasCustomComponents
如果 Component 套件含在訊息或按鈕中,則將其設置為 true。


propertyChangeListener

protected PropertyChangeListener propertyChangeListener
建構子詳細資訊

BasicOptionPaneUI

public BasicOptionPaneUI()
方法詳細資訊

createUI

public static ComponentUI createUI(JComponent x)
創建一個新的 BasicOptionPaneUI 實例。


installUI

public void installUI(JComponent c)
安裝作為傳入 JOptionPane 的 L&F 的接收者。

覆寫:
類別 ComponentUI 中的 installUI
參數:
c - 將安裝此 UI 委託的元件
另請參見:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
從傳入拆分窗格的 L&F 控制器移除接收者。

覆寫:
類別 ComponentUI 中的 uninstallUI
參數:
c - 從中移除此 UI 委託的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
另請參見:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installDefaults

protected void installDefaults()

uninstallDefaults

protected void uninstallDefaults()

installComponents

protected void installComponents()

uninstallComponents

protected void uninstallComponents()

createLayoutManager

protected LayoutManager createLayoutManager()

installListeners

protected void installListeners()

uninstallListeners

protected void uninstallListeners()

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()

installKeyboardActions

protected void installKeyboardActions()

uninstallKeyboardActions

protected void uninstallKeyboardActions()

getMinimumOptionPaneSize

public Dimension getMinimumOptionPaneSize()
返回選項窗格應該具有的最小大小。主要供希望提供不同最小大小的子類別使用。


getPreferredSize

public Dimension getPreferredSize(JComponent c)
如果 c 為包含接收者的 JOptionPane,則返回的首選大小為 JOptionPaneLayoutManager 的最大首選大小和 getMinimumOptionPaneSize

覆寫:
類別 ComponentUI 中的 getPreferredSize
參數:
c - 將查詢其首選大小的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
另請參見:
JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

createMessageArea

protected Container createMessageArea()
從 installComponents 獲取訊息以創建包含訊息正文的 Container。通過調用 addIcon 創建圖標。


addMessageComponents

protected void addMessageComponents(Container container,
                                    GridBagConstraints cons,
                                    Object msg,
                                    int maxll,
                                    boolean internallyCreated)
創建表示 msg 的適當對象並將其置於 container 中。如果 msg 為 Component 的實例,則直接添加它;如果其為 Icon,則創建 JLabel 來表示它;否則,如果 d 為 Object[],則為該字元串創建 JLabel,將為其子級遞歸式調用此方法。如果 Objc 為 Component 的實例並且由此方法內部創建,則 internallyCreated 為 true(僅當 !internallyCreated 時,使用此方法正確設置 hasCustomComponents)。


getMessage

protected Object getMessage()
返回從接收者為其提供外觀的 JOptionPane 顯示的訊息。


addIcon

protected void addIcon(Container top)
創建並添加 JLabel,它表示對 top 調用 getIcon 所返回的圖標。此方法獲得從 createMessageArea 傳遞的訊息


getIcon

protected Icon getIcon()
返回來自接收者為其提供外觀的 JOptionPane 的圖標,或者從 getDefaultIcon 返回的預設圖標。


getIconForType

protected Icon getIconForType(int messageType)
返回用於傳入型別的圖標。


getMaxCharactersPerLineCount

protected int getMaxCharactersPerLineCount()
返回要置於行中的最大字元數。


burstStringInto

protected void burstStringInto(Container c,
                               String d,
                               int maxll)
遞歸式創建表示 d 的新 JLabel 實例每個 JLabel 實例都將被添加到 c


createSeparator

protected Container createSeparator()

createButtonArea

protected Container createButtonArea()
創建並返回包含按鈕的 Container。通過調用 getButtons 創建按鈕。


addButtonComponents

protected void addButtonComponents(Container container,
                                   Object[] buttons,
                                   int initialIndex)
創建表示 buttons 中每個物件的適當對象並將其添加到 container。這與 addMessageComponents 不同,不同點在於它將在 buttons 上遞歸,並且如果按鈕不是 Component,它將創建一個 JButton 的實例。


createButtonActionListener

protected ActionListener createButtonActionListener(int buttonIndex)

getButtons

protected Object[] getButtons()
返回從接收者為其提供外觀的 JOptionPane 顯示的按鈕。如果 JOptionPane 設置了選項,則提供它們;否則,如果 optionType 為 YES_NO_OPTION,則返回 yesNoOptions;如果型別為 YES_NO_CANCEL_OPTION,則返回 yesNoCancelOptions;否則返回 defaultButtons。


getSizeButtonsToSameWidth

protected boolean getSizeButtonsToSameWidth()
返回 true,基本 L&F 希望所有按鈕具有相同的寬度。


getInitialValueIndex

protected int getInitialValueIndex()
將初始索引返回給要選擇的按鈕。索引是根據 JOptionPane 的初始值和 JOptionPane 的選項計算出的,或者為 0。


resetInputValue

protected void resetInputValue()
基於 inputComponent 中的值,設置接收者為其提供外觀的選項窗格中的輸入值。


selectInitialValue

public void selectInitialValue(JOptionPane op)
如果 inputComponent 為非 null,則請求焦點位於其上;否則請求焦點位於預設值上

指定者:
類別 OptionPaneUI 中的 selectInitialValue

containsCustomComponents

public boolean containsCustomComponents(JOptionPane op)
如果在上一次對 validateComponent 的調用中訊息或按鈕包含 Component 的子類別,則返回 true。

指定者:
類別 OptionPaneUI 中的 containsCustomComponents

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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