java提供了一个用于允许用户操作和选择颜色的控制器窗格JColorChooser,今天我们就看一下这个JColorChooser的用法,实现如下效果:
用户点击界面:
选色板界面:
需要说明的是,这个选色板窗体完全是由系统提供,也就是我们今天要学习的这个JColorChooser。该选色板界面有样品、HSB、RGB三个选项卡,能使用三种方式来选择颜色。
---------------------------------------------------------------------------------------
step1:
任务描述:搭建界面窗口框架
编辑类:TestJColorChooser.class
- package test;
- import javax.swing.JFrame;
- public class TestJColorChooser extends JFrame {
- public TestJColorChooser() {
- // 设置窗口标题
- setTitle("调色板");
- // 设置窗口位置和大小
- setBounds(200, 200, 400, 300);
- // 设置窗口为可视
- setVisible(true);
- // 关闭窗口时退出程序
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[] args) {
- new TestJColorChooser();
- }
- }
---------------------------------------------------------------------------------------
step2:
任务描述:完成用户界面。
任务分析:该界面采用Borderlayout,上面是一个按钮JButton,下面是一个面板JPanel
编辑类:TestJColorChooser.class
- package test;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class TestJColorChooser extends JFrame {
- public TestJColorChooser() {
- // 创建基础面板作为窗口的内容面板contentPane;
- JPanel pnBasic = new JPanel();
- // 为基础面板加入布局方式
- pnBasic.setLayout(new BorderLayout());
- // 创建一个按钮
- JButton btnSelectColor = new JButton("选取颜色");
- // 把按钮添加到基础面板的北部
- pnBasic.add(btnSelectColor, BorderLayout.NORTH);
- // 创建一个子面板
- JPanel pnShowColor = new JPanel();
- // 设置子面板的背景色为白色
- pnShowColor.setColor.WHITE);
- // 将子面板添加到基础面板中
- pnBasic.add(pnShowColor, BorderLayout.CENTER);
- // 将基础面板和窗口绑定。
- setContentPane(pnBasic);
- // 设置窗口标题
- setTitle("调色板");
- // 设置窗口位置和大小
- setBounds(200, 200, 400, 300);
- // 设置窗口为可视
- setVisible(true);
- // 关闭窗口时退出程序
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[] args) {
- new TestJColorChooser();
- }
- }
运行效果:
---------------------------------------------------------------------------------------
step3:
任务描述:为"选取颜色"按钮添加监听,使点击按钮弹出选色板界面。
任务分析:JColorChooser.showDialog(TestJColorChooser.this,"选色板", Color.WHITE);用于显示调色板。
参数说明:
component - 对话框的父 Component
title - 包含对话框标题的 String
initialColor - 显示颜色选取器时的初始 Color 设置
编辑类:TestJColorChooser.class
- package test;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.JButton;
- import javax.swing.JColorChooser;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- public class TestJColorChooser extends JFrame {
- /** 用于显示所选颜色的子面板 **/
- private JPanel pnShowColor;
- public TestJColorChooser() {
- // 创建基础面板作为窗口的内容面板contentPane;
- JPanel pnBasic = new JPanel();
- // 为基础面板加入布局方式
- pnBasic.setLayout(new BorderLayout());
- // 创建一个按钮
- JButton btnSelectColor = new JButton("选取颜色");
- // 把按钮添加到基础面板的北部
- pnBasic.add(btnSelectColor, BorderLayout.NORTH);
- // 创建一个子面板
- pnShowColor = new JPanel();
- // 设置子面板的背景色为白色
- pnShowColor.setColor.WHITE);
- // 将子面板添加到基础面板中
- pnBasic.add(pnShowColor, BorderLayout.CENTER);
- // 为按钮添加监听
- btnSelectColor.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- // 得到选择的颜色
- Color color = JColorChooser.showDialog(TestJColorChooser.this,
- "选色板", Color.WHITE);
- // 设置子面板的背景色
- pnShowColor.setcolor);
- }
- });
- // 将基础面板和窗口绑定。
- setContentPane(pnBasic);
- // 设置窗口标题
- setTitle("调色板");
- // 设置窗口位置和大小
- setBounds(200, 200, 400, 300);
- // 设置窗口为可视
- setVisible(true);
- // 关闭窗口时退出程序
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public static void main(String[] args) {
- new TestJColorChooser();
- }
- }
运行效果:
---------------------------------------------------------------------------------------
这样我们就完成了选色板JColorChooser的调用,赶紧把它用在自己的项目中吧。