JColorChooser
類提供了一個控制元件窗格,旨在允許使用者操作和選擇顏色。
以下是javax.swing.JColorChooser
類的宣告 -
public class JColorChooser
extends JComponent
implements Accessible
以下是javax.swing.JColorChooser
類的欄位 -
protected AccessibleContext accessibleContext
static String CHOOSER_PANELS_PROPERTY
- chooserPanel
陣列屬性名稱。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) |
建立並返回一個包含指定ColorChooser 窗格的新對話方塊以及「確定」,「取消」和「重置」按鈕。 |
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) |
設定包含所選顏色的模型。 |
19 | void setUI(ColorChooserUI ui) |
設定呈現此元件的L&F物件。 |
20 | static Color showDialog(Component component, String title, Color initialColor) |
顯示模態顏色選擇器對話方塊並阻塞,直到隱藏對話方塊。 |
21 | void updateUI() |
來自UIManager 的通知L&F已經改變。 |
該類繼承以下類中的方法 -
javax.swing.JComponent
java.awt.Container
java.awt.Component
java.lang.Object
使用編輯器建立以下Java程式:SwingControlDemo.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class JColorChooserExample {
private JFrame mainFrame;
private JLabel headerLabel;
private JLabel statusLabel;
private JPanel controlPanel;
public JColorChooserExample(){
prepareGUI();
}
public static void main(String[] args){
JColorChooserExample swingControlDemo = new JColorChooserExample();
swingControlDemo.showColorChooserDemo();
}
private void prepareGUI(){
mainFrame = new JFrame("Java Swing JColorChooser範例");
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("選擇背景顏色");
chooseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Color backgroundColor = JColorChooser.showDialog(mainFrame,
"選擇背景顏色", Color.white);
if(backgroundColor != null){
controlPanel.setBackground(backgroundColor);
mainFrame.getContentPane().setBackground(backgroundColor);
}
}
});
controlPanel.add(chooseButton);
mainFrame.setVisible(true);
}
}
執行上面範例程式碼,得到以下結果: