如何使用JColorChooser组件?
JColorChooser是一个Swing组件,它提供从其中我们可以选择以RGB格式的色码的调色板。JColorChooser组件分为两部分,颜色选择的选项卡式窗格和预览框。该选项卡包含三个选项卡,可让我们从色标中选择一种颜色,一种HSB(色调,饱和度和亮度)组合以及一种RGB(红色,蓝色,绿色)颜色组合。
package org.nhooo.example.swing;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
public class JColorChooserDemo extends JFrame implements ChangeListener {
private JColorChooser colorChooser = null;
public JColorChooserDemo() throws HeadlessException {
initUI();
}
private void initUI() {
// 设置此JFrame的标题和默认关闭操作。
setTitle("JColorChooser Demo");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
// 创建一个JColorChooser组件的实例,并
// 将其添加到框架的内容。
colorChooser = new JColorChooser();
getContentPane().add(colorChooser, BorderLayout.PAGE_END);
// 添加更改侦听器以在其中获取所选颜色
// JColorChooser组件。
colorChooser.getSelectionModel().addChangeListener(this);
this.pack();
}
/**
* Handles color selection in the JColorChooser component.
*
* @param e the ChangeEvent
*/
public void stateChanged(ChangeEvent e) {
// 在JColorChooser组件中获取选定的颜色
// 并将颜色以RGB格式打印到控制台。
Color color = colorChooser.getColor();
System.out.println("color = " + color);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new JColorChooserDemo().setVisible(true);
}
});
}
}当您在程序上方运行程序时,JColorChooser将显示带有组件的框架。如果从颜色选择中单击一种颜色,则将在控制台中打印RGB格式的颜色字符串。