Swing - JColorChooser 類



簡介

JColorChooser 類提供了一個控制元件面板,用於允許使用者操作和選擇顏色。

類宣告

以下是 javax.swing.JColorChooser 類的宣告:

public class JColorChooser
   extends JComponent
      implements Accessible

欄位

以下是 javax.swing.JLabel 類的欄位:

  • protected AccessibleContext accessibleContext

  • static String CHOOSER_PANELS_PROPERTY - 選擇器面板陣列屬性名稱。

  • static String PREVIEW_PANEL_PROPERTY - 預覽面板屬性名稱。

  • static String SELECTION_MODEL_PROPERTY - 選擇模型屬性名稱。

類建構函式

序號 建構函式 & 描述
1

JColorChooser()

建立一個顏色選擇器面板,初始顏色為白色。

2

JColorChooser(Color initialColor)

建立一個顏色選擇器面板,並使用指定的初始顏色。

3

JColorChooser(ColorSelectionModel model)

建立一個顏色選擇器面板,並使用指定的 ColorSelectionModel。

類方法

序號 方法 & 描述
1

void addChooserPanel(AbstractColorChooserPanel panel)

向顏色選擇器新增一個顏色選擇器面板。

2

static JDialog createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener)

建立並返回一個新的對話方塊,其中包含指定的顏色選擇器面板以及“確定”、“取消”和“重置”按鈕。

3

AccessibleContext getAccessibleContext()

獲取與此 JColorChooser 關聯的 AccessibleContext。

4

AbstractColorChooserPanel[] getChooserPanels()

返回指定的顏色面板。

5

Color getColor()

從顏色選擇器獲取當前顏色值。

6

boolean getDragEnabled()

獲取 dragEnabled 屬性的值。

7

JComponent getPreviewPanel()

返回顯示所選顏色的預覽面板。

8

ColorSelectionModel getSelectionModel()

返回處理顏色選擇的模型。

9

ColorChooserUI getUI()

返回呈現此元件的 L&F 物件。

10

String getUIClassID()

返回呈現此元件的 L&F 類的名稱。

11

protected String paramString()

返回此 JColorChooser 的字串表示形式。

12

AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel)

移除指定的顏色面板。

13

void setChooserPanels(AbstractColorChooserPanel[] panels)

指定用於選擇顏色值的顏色面板。

14

void setColor(Color color)

將顏色選擇器的當前顏色設定為指定顏色。

15

void setColor(int c)

將顏色選擇器的當前顏色設定為指定顏色。

16

void setColor(int r, int g, int b)

將顏色選擇器的當前顏色設定為指定的 RGB 顏色。

17

void setDragEnabled(boolean b)

設定 dragEnabled 屬性,此屬性必須為 true 才能在此元件上啟用自動拖動處理(拖放的第一部分)。

18

void setPreviewPanel(JComponent preview)

設定當前預覽面板。

19

void setSelectionModel(ColorSelectionModel newModel)

設定包含所選顏色的模型。

20

void setUI(ColorChooserUI ui)

設定呈現此元件的 L&F 物件。

21

static Color showDialog(Component component, String title, Color initialColor)

顯示一個模態顏色選擇器對話方塊,並在對話方塊隱藏之前阻塞。

22

void updateUI()

來自 UIManager 的通知,表示 L&F 已更改。

繼承的方法

此類繼承自以下類的方法:

  • javax.swing.JComponent
  • java.awt.Container
  • java.awt.Component
  • java.lang.Object

JColorChooser 示例

使用您選擇的任何編輯器建立以下 Java 程式,例如在 D:/ > SWING > com > tutorialspoint > gui >

SwingControlDemo.java

package com.tutorialspoint.gui;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class SwingControlDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();      
      swingControlDemo.showColorChooserDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));
      
      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      });    
      headerLabel = new JLabel("", JLabel.CENTER);        
      statusLabel = new JLabel("",JLabel.CENTER);    
      statusLabel.setSize(350,100);

      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);  
   }
   private void showColorChooserDemo(){
      headerLabel.setText("Control in action: JColorChooser"); 
      JButton chooseButton = new JButton("Choose Background");        
      
      chooseButton.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            Color backgroundColor = JColorChooser.showDialog(mainFrame,
               "Choose background color", Color.white);
            if(backgroundColor != null){
               controlPanel.setBackground(backgroundColor);
               mainFrame.getContentPane().setBackground(backgroundColor);
            }
         }
      });
      controlPanel.add(chooseButton);
      mainFrame.setVisible(true);  
   }
}

使用命令提示符編譯程式。轉到 D:/ > SWING 並鍵入以下命令。

D:\SWING>javac com\tutorialspoint\gui\SwingControlDemo.java

如果未出現錯誤,則表示編譯成功。使用以下命令執行程式。

D:\SWING>java com.tutorialspoint.gui.SwingControlDemo

驗證以下輸出。

Swing JColorChooser
swing_controls.htm
廣告