位置:首頁 > Java技術 > Swing > Swing JColorChooser

Swing JColorChooser

JColorChooser 類顏色選擇器提供了一個窗格設計,讓用戶操作和選擇顏色的控製。

類聲明

以下是聲明的 javax.swing.JColorChooser類:

public class JColorChooser
   extends JComponent
      implements Accessible

字段域

以下是javax.swing.JLabel 類的字段:

  • protected AccessibleContext accessibleContext

  • static String CHOOSER_PANELS_PROPERTY -- chooserPanel 數組屬性的名稱。

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

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

類構造函數

S.N. 構造函數 & 描述
1 JColorChooser()
Creates a color chooser pane with an initial color of white.
2 JColorChooser(Color initialColor)
Creates a color chooser pane with the specified initial color.
3 JColorChooser(ColorSelectionModel model)
Creates a color chooser pane with the specified ColorSelectionModel.

類方法

S.N. 方法 & 描述
1 void addChooserPanel(AbstractColorChooserPanel panel)
Adds a color chooser panel to the color chooser.
2 static JDialog createDialog(Component c, String title, boolean modal, JColorChooser chooserPane, ActionListener okListener, ActionListener cancelListener)
Creates and returns a new dialog containing the specified ColorChooser pane along with "OK", "Cancel", and "Reset" buttons.
3 AccessibleContext getAccessibleContext()
Gets the AccessibleContext associated with this JColorChooser.
4 AbstractColorChooserPanel[] getChooserPanels()
Returns the specified color panels.
5 Color getColor()
Gets the current color value from the color chooser.
6 boolean getDragEnabled()
Gets the value of the dragEnabled property.
7 JComponent getPreviewPanel()
Returns the preview panel that shows a chosen color.
8 ColorSelectionModel getSelectionModel()
Returns the data model that handles color selections.
9 ColorChooserUI getUI() 
Returns the L&F object that renders this component.
10 String getUIClassID() 
Returns the name of the L&F class that renders this component.
11 protected String paramString() 
Returns a string representation of this JColorChooser.
12 AbstractColorChooserPanel removeChooserPanel(AbstractColorChooserPanel panel) 
Removes the Color Panel specified.
13 void setChooserPanels(AbstractColorChooserPanel[] panels)
Specifies the Color Panels used to choose a color value.
14 void setColor(Color color) 
Sets the current color of the color chooser to the specified color.
15 void setColor(int c) 
Sets the current color of the color chooser to the specified color.
16 void setColor(int r, int g, int b) 
Sets the current color of the color chooser to the specified RGB color.
17 void setDragEnabled(boolean b) 
Sets the dragEnabled property, which must be true to enable automatic drag handling (the first part of drag and drop) on this component.
18 void setPreviewPanel(JComponent preview) 
Sets the current preview panel.
19 void setSelectionModel(ColorSelectionModel newModel)
Sets the model containing the selected color.
20 void setUI(ColorChooserUI ui) 
Sets the L&F object that renders this component.
21 static Color showDialog(Component component, String title, Color initialColor) 
Shows a modal color-chooser dialog and blocks until the dialog is hidden.
22 void updateUI() 
Notification from the UIManager that the L&F has changed.

方法繼承

這個類從以下類繼承的方法:

  • javax.swing.JComponent

  • java.awt.Container

  • java.awt.Component

  • java.lang.Object

JColorChooser 例子

選擇使用任何編輯器創建以下java程序在 D:/ > SWING > com > yiibai > gui >

SwingControlDemo.java
package com.yiibai.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 comyiibaiguiSwingControlDemo.java

如果冇有錯誤出現,這意味著編譯成功。使用下麵的命令來運行程序。

D:SWING>java com.yiibai.gui.SwingControlDemo

驗證下麵的輸出

Swing JColorChooser