java ColorChooser
简介
java 核心编程
创建了三个chooser。一个是模态,一个是非模态,一个是非模态实时。
放入别的frame 进行了展示
image

code
/*
 * @Author: your name
 * @Date: 2020-11-08 15:59:26
 * @LastEditTime: 2020-11-08 16:15:56
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: /java/colorChooser/ColorChooserPanel.java
 */
package optionDialog;
import java.awt.Color;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JColorChooser;
import javax.swing.JDialog;
import javax.swing.JPanel;
import java.awt.*;
import javax.swing.*;
public class ColorChooserPanel extends JPanel {
    public ColorChooserPanel() {
        JButton modalButton = new JButton("Modal");
        modalButton.addActionListener(new ModalListener());
        add(modalButton);
        JButton modelessButton = new JButton("Modeless");
        modelessButton.addActionListener(new ModelessListener());
        add(modelessButton);
        JButton immediateButton = new JButton("Immediate");
        immediateButton.addActionListener(new ImmediateListener());
        add(immediateButton);
    }
    private class ModalListener implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            Color defaultColor = getBackground();
            Color selected = JColorChooser.showDialog(ColorChooserPanel.this, "Set background", defaultColor);
            if (selected != null) {
                setBackground(selected);
            }
        }
    }
    private class ModelessListener implements ActionListener {
        private JDialog dialog;
        private JColorChooser chooser;
        public ModelessListener() {
            chooser = new JColorChooser();
            dialog = JColorChooser.createDialog(ColorChooserPanel.this, "Background Color", false, chooser,
                    event -> setBackground(chooser.getColor()), null);
        }
        public void actionPerformed(ActionEvent event) {
            chooser.setColor(getBackground());
            dialog.setVisible(true);
        }
    }
    private class ImmediateListener implements ActionListener {
        private JDialog dialog;
        private JColorChooser chooser;
        public ImmediateListener() {
            chooser = new JColorChooser();
            chooser.getSelectionModel().addChangeListener(event -> setBackground(chooser.getColor()));
            dialog = new JDialog((Frame) null, false);
            dialog.add(chooser);
            dialog.pack();
        }
        public void actionPerformed(ActionEvent event) {
            chooser.setColor(getBackground());
            dialog.setVisible(true);
        }
    }
}
												
											java ColorChooser的更多相关文章
- Spark案例分析
		
一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...
 - 万能的林萧说:一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础”。
		
来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,"招人啦." 然某群友曰,"群主,俺想去." LZ回之,"你 ...
 - [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现
		
本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...
 - Java sun的JDK
		
JDK概述 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Softwa ...
 - Java可视化AWT
		
AWT 总体上Swing组件替代了绝大部分AWT组件,对AWT图形用户界面编程有极好的补充和加强. package ch11; import java.awt.*; /** * Created by ...
 - 一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础
		
来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,“招人啦.” 然某群友曰,“群主,俺想去.” LZ回之,“你年几何?” 群友曰,“两年也.” LZ憾言之,“惜 ...
 - java实现渐变效果工具
		
[html] view plain copy package gradient; import java.awt.Color; import java.awt.Dimension; import ja ...
 - java常用系统包介绍
		
java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类.java.awt包含用于创建用户界面和绘制图形图像的所有类.java.awt.colo ...
 - [注意事项&车轮]java源代码 产生局部javadoc api档
		
随着Eclipse书写java码时间,有时候,因为我们不知道java函数返回.通过鼠标移动到java该功能,假设它javadoc相关内容将被显示. 但是,并非所有java代码javadoc:连装jav ...
 - 201771010126 王燕《面向对象程序设计(Java)》第十四周学习总结(测试程序11)
		
实验十四 Swing图形界面组件 理论部分: 不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝对定位的步骤: 1)将布局管理器 ...
 
随机推荐
- 智能语音备忘录:SpeechRecognition与gTTS的奇妙融合
			
引言:智能语音备忘录的时代已经到来 在这个信息爆炸的时代,我们每天需要处理大量的事务和信息.传统的文字记录方式虽然可靠,但在效率上往往难以满足快节奏生活的需求.想象一下,如果你能在驾车.散步或是灵感突 ...
 - 数据结构之位图(bitmap、RoaringMap)
			
参照资料: 1.https://www.bilibili.com/video/BV1u44y1g7Ps(bitmap) 2.https://b23.tv/cQtuFOx (RoaringMap) 3. ...
 - <HarmonyOS第一课09>应用程序框架进阶#鸿蒙课程##鸿蒙生态#
			
课程介绍 本课程<应用程序框架进阶>旨在深入探讨应用程序框架的核心概念和高级特性.课程首先介绍应用程序框架的基本概念,确保学员对框架有全面的认识.接着,我们将深入探讨AbilityStag ...
 - JS的哪些新特性,你都用过么?
			
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
 - np.where与pd.Series.where,pd.DataFrame.where的用法及区别
			
np.where与pd.Series.where及pd.DataFrame用法不一样,下面一一进行学习,总结: import numpy as np import pandas as pd help( ...
 - WPF之X名称空间详解
			
XAM简介: XAML是一种专门用于绘制UI的语言,借助它就可以把UI定义与运行逻辑分离开来.XAML使用标签来定义UI元素,每个标签对应.NET Framework类库中的一个控件类.通过设置标签的 ...
 - 2003 can't connect to mysql server on
			
把配置文件my.ini换成如下所示: mysql和mysql数据存放路径都是加双斜线 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mys ...
 - 通过node.js安装yarn
			
如果你已经装好了node,那么 1.添加repo curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /e ...
 - ElementPlus插件的安装和使用
			
ElementPlus插件安装和使用 npm install element-plus --save src/main.ts新增 // 关键节点:全局注册 Element Plus,包含样式 impo ...
 - 企业为何要使用odoo18
			
在当今快速变化的商业环境中,企业需要高效.灵活且经济实惠的管理工具来保持竞争力.Odoo 18 作为一款开源的企业资源计划(ERP)系统,凭借其全面的功能和独特的优势,成为众多企业的首选. 为什么选择 ...