java使用颜色选择器示例分享


在Java中,如果你想要在图形用户界面(GUI)中使用颜色选择器(Color Chooser),通常会借助Swing库中的`JColorChooser`类。以下是一个简单的示例,展示了如何在一个简单的窗口中添加并使用颜色选择器来选择颜色,并将选中的颜色显示在一个标签上。


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class ColorChooserExample {

    public static void main(String[] args) {
        // 创建 JFrame 实例
        JFrame frame = new JFrame("颜色选择器示例");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);

        // 创建 JPanel 用于放置组件
        JPanel panel = new JPanel();
        frame.add(panel);

        // 创建 JButton 用于触发颜色选择器
        JButton button = new JButton("选择颜色");
        panel.add(button);

        // 创建 JLabel 用于显示选中的颜色
        JLabel label = new JLabel("未选择颜色");
        label.setHorizontalAlignment(JLabel.CENTER);
        panel.add(label);

        // 为 JButton 添加 ActionListener
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                // 显示颜色选择器对话框
                Color color = JColorChooser.showDialog(frame, "选择颜色", Color.white);
                if (color != null) {
                    // 更新 JLabel 以显示选中的颜色
                    label.setText("选中的颜色: " + color.toString());
                    label.setBackground(color);
                    label.setOpaque(true); // 使 JLabel 背景可见
                }
            }
        });

        // 设置布局(可选,此处使用默认的FlowLayout)
        // panel.setLayout(new FlowLayout());

        // 显示窗口
        frame.setVisible(true);
    }
}

这个示例中,我们创建了一个包含按钮和标签的窗口。点击按钮会触发颜色选择器的显示,用户可以选择一种颜色。选中颜色后,标签的文本会更新为选中的颜色名称,并且标签的背景颜色也会变为选中的颜色。注意,为了使标签的背景颜色可见,我们需要将`label.setOpaque(true);`设置为`true`。