JavaTM 2 Platform
Standard Ed. 6

javax.swing
類別 JColorChooser

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

public class JColorChooser
extends JComponent
implements Accessible

JColorChooser 提供一個用於允許使用者操作和選擇顏色的控制器窗格。有關使用顏色選取器的資訊,請參閱 The Java Tutorial 中的 How to Use Color Choosers 一節。

此類別提供三個級別的 API:

  1. 顯示有網要顏色選取器對話框並返回使用者所選顏色的靜態便捷方法。
  2. 創建顏色選取器對話框的靜態便捷方法,可以指定當使用者按下其中一個對話框按鈕時要調用的 ActionListener
  3. 能直接創建 JColorChooser 窗格實例(在任何容器中)。可以添加 PropertyChange 偵聽器以檢測當前“顏色”屬性何時更改。

警告: Swing 不是執行緒安全的。有關更多資訊,請參閱 Swing's Threading Policy

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


巢狀類別摘要
protected  class JColorChooser.AccessibleJColorChooser
          此類別實作對 JColorChooser 類別的可存取性支持。
 
從類別 javax.swing.JComponent 繼承的巢狀類別/介面
JComponent.AccessibleJComponent
 
從類別 java.awt.Container 繼承的巢狀類別/介面
Container.AccessibleAWTContainer
 
從類別 java.awt.Component 繼承的巢狀類別/介面
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
欄位摘要
protected  AccessibleContext accessibleContext
           
static String CHOOSER_PANELS_PROPERTY
          chooserPanel 陣列屬性名。
static String PREVIEW_PANEL_PROPERTY
          預覽面板屬性名。
static String SELECTION_MODEL_PROPERTY
          選擇模型屬性名。
 
從類別 javax.swing.JComponent 繼承的欄位
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
 
建構子摘要
JColorChooser()
          創建初始顏色為白色的顏色選取器窗格。
JColorChooser(Color initialColor)
          創建具有指定初始顏色的顏色選取器窗格。
JColorChooser(ColorSelectionModel model)
          創建具有指定 ColorSelectionModel 顏色選取器窗格。
 
方法摘要
 void addChooserPanel(AbstractColorChooserPanel panel)
          將顏色選取器面板添加到顏色選取器。
static JDialog createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener)
          創建並返回包含指定 ColorChooser 窗格及 "OK"、"Cancel" 和 "Reset" 按鈕的新對話框。
 AccessibleContext getAccessibleContext()
          獲取與此 JColorChooser 關聯的 AccessibleContext。
 AbstractColorChooserPanel[] getChooserPanels()
          返回指定的顏色面板。
 Color getColor()
          獲取顏色選取器的當前顏色值。
 boolean getDragEnabled()
          獲取 dragEnabled 屬性的值。
 JComponent getPreviewPanel()
          返回顯示選取顏色的預覽面板。
 ColorSelectionModel getSelectionModel()
          返回處理顏色選擇的資料模型。
 ColorChooserUI getUI()
          返回呈現此元件的 L&F 物件。
 String getUIClassID()
          返回呈現此元件的 L&F 類別的名稱。
protected  String paramString()
          返回此 JColorChooser 的字元串表示形式。
 AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel)
          移除指定的 Color Panel。
 void setChooserPanels(AbstractColorChooserPanel[] panels)
          指定用於選取顏色值的 Color Panel。
 void setColor(Color color)
          將顏色選取器的當前顏色設置為指定顏色。
 void setColor(int c)
          將顏色選取器的當前顏色設置為指定顏色。
 void setColor(int r, int g, int b)
          將顏色選取器的當前顏色設置為指定的 RGB 顏色。
 void setDragEnabled(boolean b)
          設置 dragEnabled 屬性,該屬性必須為 true 才能啟用對此元件的自動拖動處理(拖放操作的第一部分)。
 void setPreviewPanel(JComponent preview)
          設置當前預覽面板。
 void setSelectionModel(ColorSelectionModel newModel)
          設置包含所選顏色的模型。
 void setUI(ColorChooserUI ui)
          設置呈現此元件的 L&F 物件。
static Color showDialog(Component component, String title, Color initialColor)
          顯示有網要的顏色選取器,在隱藏對話框之前一直阻塞。
 void updateUI()
          UIManager 發出的關於 L&F 已更改的通知。
 
從類別 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, 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
 
從類別 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, setLayout, 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
 

欄位詳細資訊

SELECTION_MODEL_PROPERTY

public static final String SELECTION_MODEL_PROPERTY
選擇模型屬性名。

另請參見:
常數欄位值

PREVIEW_PANEL_PROPERTY

public static final String PREVIEW_PANEL_PROPERTY
預覽面板屬性名。

另請參見:
常數欄位值

CHOOSER_PANELS_PROPERTY

public static final String CHOOSER_PANELS_PROPERTY
chooserPanel 陣列屬性名。

另請參見:
常數欄位值

accessibleContext

protected AccessibleContext accessibleContext
建構子詳細資訊

JColorChooser

public JColorChooser()
創建初始顏色為白色的顏色選取器窗格。


JColorChooser

public JColorChooser(Color initialColor)
創建具有指定初始顏色的顏色選取器窗格。

參數:
initialColor - 選取器中的初始顏色設置

JColorChooser

public JColorChooser(ColorSelectionModel model)
創建具有指定 ColorSelectionModel 顏色選取器窗格。

參數:
model - 要使用的 ColorSelectionModel
方法詳細資訊

showDialog

public static Color showDialog(Component component,
                               String title,
                               Color initialColor)
                        throws HeadlessException
顯示有網要的顏色選取器,在隱藏對話框之前一直阻塞。如果使用者按下 "OK" 按鈕,則此方法隱藏/釋放對話框並返回所選顏色。如果使用者按下 "Cancel" 按鈕或者在沒有按 "OK" 的情況下關閉對話框,則此方法將隱藏/釋放對話框並返回 null

參數:
component - 對話框的父 Component
title - 套件含對話框標題的 String
initialColor - 顯示顏色選取器時的初始 Color 設置
返回:
所選顏色;如果使用者退出,則返回 null
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另請參見:
GraphicsEnvironment.isHeadless()

createDialog

public static JDialog createDialog(Component c,
                                   String title,
                                   boolean modal,
                                   JColorChooser chooserPane,
                                   ActionListener okListener,
                                   ActionListener cancelListener)
                            throws HeadlessException
創建並返回包含指定 ColorChooser 窗格及 "OK"、"Cancel" 和 "Reset" 按鈕的新對話框。如果按下 "OK" 或 "Cancel" 按鈕,則對話框自動隱藏(但未釋放)。如果按下 "Reset" 按鈕,則將顏色選取器的顏色重置為上一次在對話框上調用 show 時設置的顏色,並且對話框仍然顯示。

參數:
c - 對話框的父元件
title - 對話框的標題
modal - 一個 boolean,為 true 時,在關閉對話框之前,程序的剩餘部分將一直處於非啟動狀態。
chooserPane - 要置於對話框中的顏色選取器
okListener - 按下 "OK" 時調用的 ActionListener
cancelListener - 按下 "Cancel" 時調用的 ActionListener
返回:
包含顏色選取器窗格的新對話框
拋出:
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true。
另請參見:
GraphicsEnvironment.isHeadless()

getUI

public ColorChooserUI getUI()
返回呈現此元件的 L&F 物件。

返回:
呈現此元件的 ColorChooserUI 物件

setUI

public void setUI(ColorChooserUI ui)
設置呈現此元件的 L&F 物件。

參數:
ui - ColorChooserUI L&F 物件
另請參見:
UIDefaults.getUI(javax.swing.JComponent)

updateUI

public void updateUI()
UIManager 發出的關於 L&F 已更改的通知。根據 UIManager 的最新通知替換當前的 UI 物件。

覆寫:
類別 JComponent 中的 updateUI
另請參見:
JComponent.updateUI()

getUIClassID

public String getUIClassID()
返回呈現此元件的 L&F 類別的名稱。

覆寫:
類別 JComponent 中的 getUIClassID
返回:
字元串 "ColorChooserUI"
另請參見:
JComponent.getUIClassID(), UIDefaults.getUI(javax.swing.JComponent)

getColor

public Color getColor()
獲取顏色選取器的當前顏色值。預設情況下,此操作委託給模型。

返回:
顏色選取器的當前顏色值

setColor

public void setColor(Color color)
將顏色選取器的當前顏色設置為指定顏色。ColorSelectionModel 將觸發 ChangeEvent

參數:
color - 要在顏色選取器中設置的顏色
另請參見:
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

setColor

public void setColor(int r,
                     int g,
                     int b)
將顏色選取器的當前顏色設置為指定的 RGB 顏色。注意,紅色、綠色和藍色的值應該介於數字 0 和 255 之間(包括兩者)。

參數:
r - 指定 Red 量的 int
g - 指定 Green 量的 int
b - 指定 Blue 量的 int
拋出:
IllegalArgumentException - 如果 r,g,b 值超出範圍
另請參見:
Color

setColor

public void setColor(int c)
將顏色選取器的當前顏色設置為指定顏色。

參數:
c - 在選取器中設置當前顏色的整數值,其中 8 個低位指定 Blue 值,接下來的 8 個位指定 Green 值,再往上的 8 個位指定 Red 值。

setDragEnabled

public void setDragEnabled(boolean b)
設置 dragEnabled 屬性,該屬性必須為 true 才能啟用對此元件的自動拖動處理(拖放操作的第一部分)。必須將 transferHandler 屬性設置為非 null 值,拖動才有效。dragEnabled 屬性的預設值為 false

啟用自動拖動處理時,只要使用者在預覽面板上按下鼠標按鈕,大多數外觀就開始拖放操作了。有些外觀可能不支持自動拖放;它們將忽略此屬性。對於這些外觀,可通過修改元件以直接調用 TransferHandlerexportAsDrag 方法來處理該問題。

參數:
b - 作為 dragEnabled 屬性設置目標的值
拋出:
HeadlessException - 如果 btrue 並且 GraphicsEnvironment.isHeadless() 返回 true
從以下版本開始:
1.4
另請參見:
GraphicsEnvironment.isHeadless(), getDragEnabled(), JComponent.setTransferHandler(javax.swing.TransferHandler), TransferHandler

getDragEnabled

public boolean getDragEnabled()
獲取 dragEnabled 屬性的值。

返回:
dragEnabled 屬性的值
從以下版本開始:
1.4
另請參見:
setDragEnabled(boolean)

setPreviewPanel

public void setPreviewPanel(JComponent preview)
設置當前預覽面板。此操作將為名為 "previewPanel" 的屬性觸發 PropertyChangeEvent

參數:
preview - 顯示當前顏色的 JComponent
另請參見:
Container.addPropertyChangeListener(java.beans.PropertyChangeListener)

getPreviewPanel

public JComponent getPreviewPanel()
返回顯示選取顏色的預覽面板。

返回:
JComponent 物件,即預覽面板

addChooserPanel

public void addChooserPanel(AbstractColorChooserPanel panel)
將顏色選取器面板添加到顏色選取器。

參數:
panel - 要添加的 AbstractColorChooserPanel

removeChooserPanel

public AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel)
移除指定的 Color Panel。

參數:
panel - 要移除的指定面板的字元串
返回:
顏色面板
拋出:
IllegalArgumentException - 如果面板不在已知選取器面板的列表中

setChooserPanels

public void setChooserPanels(AbstractColorChooserPanel[] panels)
指定用於選取顏色值的 Color Panel。

參數:
panels - AbstractColorChooserPanel 物件的陣列

getChooserPanels

public AbstractColorChooserPanel[] getChooserPanels()
返回指定的顏色面板。

返回:
AbstractColorChooserPanel 物件的陣列

getSelectionModel

public ColorSelectionModel getSelectionModel()
返回處理顏色選擇的資料模型。

返回:
ColorSelectionModel 物件

setSelectionModel

public void setSelectionModel(ColorSelectionModel newModel)
設置包含所選顏色的模型。

參數:
newModel - 新 ColorSelectionModel 物件

paramString

protected String paramString()
返回此 JColorChooser 的字元串表示形式。此方法僅在進行除錯時使用,對於各個實作,所返回字元串的內容和格式可能有所不同。返回的字元串可能為空,但不可能為 null

覆寫:
類別 JComponent 中的 paramString
返回:
JColorChooser 的字元串表示形式

getAccessibleContext

public AccessibleContext getAccessibleContext()
獲取與此 JColorChooser 關聯的 AccessibleContext。對於顏色選取器,AccessibleContext 採用 AccessibleJColorChooser 的形式。如有必要,可創建一個新的 AccessibleJColorChooser 實例。

指定者:
介面 Accessible 中的 getAccessibleContext
覆寫:
類別 JComponent 中的 getAccessibleContext
返回:
充當此 JColorChooser 的 AccessibleContext 的 AccessibleJColorChooser

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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