简介

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的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 万能的林萧说:一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础”。

    来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,"招人啦." 然某群友曰,"群主,俺想去." LZ回之,"你 ...

  3. [JAVA] 一个可以编辑、编译、运行Java简单文件的记事本java实现

    本来是Java课做一个仿windows记事本的实验,后来突然脑子一热,结果就给它加了一个编译运行Java文件的功能. 本工程总共大约3000行代码,基本上把所学的java界面.文件.控件的功能都包含在 ...

  4. Java sun的JDK

    JDK概述 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Softwa ...

  5. Java可视化AWT

    AWT 总体上Swing组件替代了绝大部分AWT组件,对AWT图形用户界面编程有极好的补充和加强. package ch11; import java.awt.*; /** * Created by ...

  6. 一篇文章教会你,如何做到招聘要求中的“要有扎实的Java基础

    来历 本文来自于一次和群里猿友的交流,具体的情况且听LZ慢慢道来. 一日,LZ在群里发话,“招人啦.” 然某群友曰,“群主,俺想去.” LZ回之,“你年几何?” 群友曰,“两年也.” LZ憾言之,“惜 ...

  7. java实现渐变效果工具

    [html] view plain copy package gradient; import java.awt.Color; import java.awt.Dimension; import ja ...

  8. java常用系统包介绍

    java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类.java.awt包含用于创建用户界面和绘制图形图像的所有类.java.awt.colo ...

  9. [注意事项&车轮]java源代码 产生局部javadoc api档

    随着Eclipse书写java码时间,有时候,因为我们不知道java函数返回.通过鼠标移动到java该功能,假设它javadoc相关内容将被显示. 但是,并非所有java代码javadoc:连装jav ...

  10. 201771010126 王燕《面向对象程序设计(Java)》第十四周学习总结(测试程序11)

    实验十四  Swing图形界面组件 理论部分: 不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝对定位的步骤: 1)将布局管理器 ...

随机推荐

  1. 智能语音备忘录:SpeechRecognition与gTTS的奇妙融合

    引言:智能语音备忘录的时代已经到来 在这个信息爆炸的时代,我们每天需要处理大量的事务和信息.传统的文字记录方式虽然可靠,但在效率上往往难以满足快节奏生活的需求.想象一下,如果你能在驾车.散步或是灵感突 ...

  2. 数据结构之位图(bitmap、RoaringMap)

    参照资料: 1.https://www.bilibili.com/video/BV1u44y1g7Ps(bitmap) 2.https://b23.tv/cQtuFOx (RoaringMap) 3. ...

  3. <HarmonyOS第一课09>应用程序框架进阶#鸿蒙课程##鸿蒙生态#

    课程介绍 本课程<应用程序框架进阶>旨在深入探讨应用程序框架的核心概念和高级特性.课程首先介绍应用程序框架的基本概念,确保学员对框架有全面的认识.接着,我们将深入探讨AbilityStag ...

  4. JS的哪些新特性,你都用过么?

    @charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...

  5. np.where与pd.Series.where,pd.DataFrame.where的用法及区别

    np.where与pd.Series.where及pd.DataFrame用法不一样,下面一一进行学习,总结: import numpy as np import pandas as pd help( ...

  6. WPF之X名称空间详解

    XAM简介: XAML是一种专门用于绘制UI的语言,借助它就可以把UI定义与运行逻辑分离开来.XAML使用标签来定义UI元素,每个标签对应.NET Framework类库中的一个控件类.通过设置标签的 ...

  7. 2003 can't connect to mysql server on

    把配置文件my.ini换成如下所示: mysql和mysql数据存放路径都是加双斜线 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mys ...

  8. 通过node.js安装yarn

    如果你已经装好了node,那么 1.添加repo curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /e ...

  9. ElementPlus插件的安装和使用

    ElementPlus插件安装和使用 npm install element-plus --save src/main.ts新增 // 关键节点:全局注册 Element Plus,包含样式 impo ...

  10. 企业为何要使用odoo18

    在当今快速变化的商业环境中,企业需要高效.灵活且经济实惠的管理工具来保持竞争力.Odoo 18 作为一款开源的企业资源计划(ERP)系统,凭借其全面的功能和独特的优势,成为众多企业的首选. 为什么选择 ...