首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

Swing (三原色)调色板

后端 73.23KB 26 需要积分: 1
立即下载

资源介绍:

功能: 1、点击调色板区域,获取随机颜色 2、输入框(手动输入、滚动修改)输入,获取指定颜色 3、指定方法,自动滚动式获取颜色 (所属分类:后端/Java是随便填的)
package com.view; import com.util.CompUtils; import com.util.MathUtils; import javax.swing.*; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; import java.awt.*; import java.awt.event.*; import java.net.URL; import java.util.Objects; import java.util.Timer; import java.util.TimerTask; /** * 第二代调色板 * 2024.08.15~2024.08.19 * 功能: * 1、点击调色板区域,获取随机颜色 * 2、输入框(手动输入、滚动修改)输入,获取指定颜色 * 3、指定方法,自动滚动式获取颜色 * */ public class Home { private static int RED = 0, GREEN = 0, BLUE = 0;// 三原色值 private static String[] startsTypes = new String[]{"R>G>B","R>B>G","G>R>B","G>B>R","B>R>G","B>G>R","RG>B","RB>G","GB>R","R>GB","G>RB","B>RG","RGB"};// 滚动方法 private static boolean isStop = true;// 默认暂停状态 private static String inputTime = "1"; // private static Timer timer = new Timer();// 定时器 // private static JPanel pColor;// 三原色调色板 private static JTextField redJTF, greenJTF, blueJTF, timeJTF;// 三原色设置、定时周期设置 private static JComboBox rgbType = new JComboBox<>(startsTypes);// 滚动方式设置 private static JButton startBtn, stopBtn;// 滚动模式启动/暂停按钮 public Home(){ init(); } // 界面初始化 private void init(){ //窗体 JFrame f = new JFrame("三原色调试器"); f.setSize(570,600); f.setLocationRelativeTo(null);// 默认居中展示 f.setLayout(new FlowLayout(FlowLayout.CENTER)); URL url = getClass().getClassLoader().getResource("com/icon/RGB.png");// 图片存放位置 assert url != null; f.setIconImage(new ImageIcon(url).getImage());// 设置ico图标(logo图标) f.setResizable(false);// false不允许放大缩小 // 基础面板 JPanel base = new JPanel(); base.setPreferredSize(new Dimension(555,555)); base.setLayout(new FlowLayout(FlowLayout.CENTER,0,0)); // 展示区面板 JPanel show = new JPanel(); show.setPreferredSize(new Dimension(555,300)); show.setLayout(new FlowLayout(FlowLayout.CENTER,0,100)); show.setBorder(BorderFactory.createMatteBorder(2,2,1,2,Color.black)); show.setBackground(Color.WHITE); // 输入区面板 JPanel input = new JPanel(); input.setPreferredSize(new Dimension(555,75)); input.setLayout(new FlowLayout(FlowLayout.CENTER,50,30)); input.setBorder(BorderFactory.createMatteBorder(1,2,0,2,Color.black)); input.setBackground(Color.WHITE); // (输入区辅助)标签面板 JPanel tips = new JPanel(); tips.setPreferredSize(new Dimension(555,60)); tips.setLayout(new FlowLayout(FlowLayout.CENTER,50,0)); tips.setBorder(BorderFactory.createMatteBorder(0,2,1,2,Color.black)); tips.setBackground(Color.WHITE); // 滚动类型选择及其定时任务面板 JPanel select = new JPanel(); select.setPreferredSize(new Dimension(555,120)); select.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.BLACK)); select.setLayout(new FlowLayout(FlowLayout.CENTER,10,40)); select.setBackground(Color.WHITE); // 调色板 pColor = new JPanel(); pColor.setPreferredSize(new Dimension(100,100)); pColor.setBackground(new Color(RED,GREEN,BLUE)); pColor.setBorder(BorderFactory.createMatteBorder(1,1,1,1,Color.BLACK)); // 颜值输入及展示 redJTF = CompUtils.input(RED); redJTF.setBackground(new Color(RED,0,0)); greenJTF = CompUtils.input(GREEN); greenJTF.setBackground(new Color(0,GREEN,0)); blueJTF = CompUtils.input(BLUE); blueJTF.setBackground(new Color(0,0,BLUE)); // 标签 JLabel redJL = CompUtils.label("red", Color.red); JLabel greenJL = CompUtils.label("green", Color.green); JLabel blueJL = CompUtils.label("blue", Color.blue); // 滚动方式选择下拉框 rgbType.setPreferredSize(new Dimension(120,40)); rgbType.setFont(new Font("宋体",Font.BOLD,20)); // 定时周期设置 timeJTF = CompUtils.input(1); timeJTF.setPreferredSize(new Dimension(120,40)); timeJTF.setForeground(Color.BLACK); // 清零启动按钮 startBtn = new JButton("从零开始"); startBtn.setPreferredSize(new Dimension(120,40)); startBtn.setFont(new Font("宋体",Font.BOLD,20)); startBtn.setFocusPainted(false); // 启动及暂停按钮 stopBtn = new JButton("启动"); stopBtn.setPreferredSize(new Dimension(120,40)); stopBtn.setFont(new Font("宋体",Font.BOLD,20)); stopBtn.setFocusPainted(false); // 组件“组装” show.add(pColor); CompUtils.add(input,redJTF,greenJTF,blueJTF); CompUtils.add(tips, redJL, greenJL, blueJL); CompUtils.add(select,rgbType,timeJTF,startBtn,stopBtn); CompUtils.add(base,show,input,tips,select); f.add(base); // 监听事件 listen(); // 窗体 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭即退出程序 f.setVisible(true);// 显示窗体 } /** * 从零开始执行定时任务 * */ private void startTimer(){ rgbZeroClearing();// 清零,重新计数 continueTimer(); } /** * 停止计时器 * */ private void stopTimer(){ timer.cancel();// 停用旧计时器(不停用的话,可能会造成多个计时器同时存在) isStop = true;// 正在暂停状态,标记状态 stopBtn.setText("继续"); } /** * 继续计时器 * */ private void continueTimer(){ String startType = Objects.requireNonNull(rgbType.getSelectedItem()).toString();// 任务形式 int period = Integer.parseInt(timeJTF.getText());// 定时周期 timer.cancel();// 停用旧计时器(不停用的话,可能会造成多个计时器同时存在) timer = new Timer();// 新建计时器 TimerTask task = startChangeRGB(startType);// 更新计时器任务 timer.scheduleAtFixedRate(task,0,period);// 启动计时器 isStop = false;// 正在非暂停状态,标记状态 stopBtn.setText("暂停"); } /** * 定时任务 * */ private TimerTask startChangeRGB(String startType){ //"R>G>B","R>B>G","G>R>B","G>B>R","B>R>G","B>G>R","RG>B","RB>G","GB>R","R>GB","G>RB","B>RG","RGB" return new TimerTask() { @Override public void run() { // 改变“颜”值 switch (startType){ case "R>G>B": rgbAutoIncrement(0,1,2); break; case "R>B>G": rgbAutoIncrement(0,2,1); break; case "G>R>B": rgbAutoIncrement(1,0,2); break; case "G>B>R": rgbAutoIncrement(1,2,0); break; case "B>R>G": rgbAutoIncrement(2,0,1); break; case "B>G>R": rgbAutoIncrement(2,1,0); break; case "RG>B": rgbAutoIncrement(0,1); break; case "RB>G": rgbAutoIncrement(0,2); break; case "GB>R"

资源文件列表:

rgb20240815.zip 大约有51个文件
  1. .idea/
  2. .idea/artifacts/
  3. .idea/artifacts/rgb20240815_jar.xml 305B
  4. .idea/misc.xml 278B
  5. .idea/modules.xml 269B
  6. .idea/uiDesigner.xml 8.71KB
  7. .idea/workspace.xml 5.72KB
  8. out/
  9. out/artifacts/
  10. out/artifacts/rgb20240815_jar/
  11. out/artifacts/rgb20240815_jar/rgb20240815.jar 26.8KB
  12. out/production/
  13. out/production/rgb20240815/
  14. out/production/rgb20240815/com/
  15. out/production/rgb20240815/com/icon/
  16. out/production/rgb20240815/com/icon/RGB.png 3.2KB
  17. out/production/rgb20240815/com/main/
  18. out/production/rgb20240815/com/main/Main.class 409B
  19. out/production/rgb20240815/com/util/
  20. out/production/rgb20240815/com/util/CompUtils.class 1.82KB
  21. out/production/rgb20240815/com/util/MathUtils.class 2.14KB
  22. out/production/rgb20240815/com/view/
  23. out/production/rgb20240815/com/view/ColorJFrame$1.class 993B
  24. out/production/rgb20240815/com/view/ColorJFrame$utils$1.class 1.39KB
  25. out/production/rgb20240815/com/view/ColorJFrame$utils$2.class 778B
  26. out/production/rgb20240815/com/view/ColorJFrame$utils.class 6.92KB
  27. out/production/rgb20240815/com/view/ColorJFrame.class 5.23KB
  28. out/production/rgb20240815/com/view/Home$1.class 1.79KB
  29. out/production/rgb20240815/com/view/Home$2.class 962B
  30. out/production/rgb20240815/com/view/Home$3.class 1.54KB
  31. out/production/rgb20240815/com/view/Home$4.class 1.15KB
  32. out/production/rgb20240815/com/view/Home$5.class 1.16KB
  33. out/production/rgb20240815/com/view/Home$6.class 1.61KB
  34. out/production/rgb20240815/com/view/Home.class 12.69KB
  35. out/production/rgb20240815/META-INF/
  36. out/production/rgb20240815/META-INF/MANIFEST.MF 52B
  37. rgb20240815.iml 433B
  38. src/
  39. src/com/
  40. src/com/icon/
  41. src/com/icon/RGB.png 3.2KB
  42. src/com/main/
  43. src/com/main/Main.java 249B
  44. src/com/util/
  45. src/com/util/CompUtils.java 1000B
  46. src/com/util/MathUtils.java 4.33KB
  47. src/com/view/
  48. src/com/view/ColorJFrame.java 10.28KB
  49. src/com/view/Home.java 26.54KB
  50. src/META-INF/
  51. src/META-INF/MANIFEST.MF 52B
0评论
提交 加载更多评论
其他资源 图解设计模式-随书下载代码-windows
原链接:https://www.ituring.com.cn/book/1811
基于C语言实现的自助贩卖机
项目源码
局域网资料在线同步屏幕软件
局域网资料在线同步屏幕软件
串口调试助手,包含常用的几种
串口调试助手,包含常用的几种
前端-HTML-基础入门
前端-HTML-基础入门
vue+天地图+d3.js绘制行政区划
需要在vue项目的index.html中引入的d3.js文件资源引入来实现绘制行政区划功能
计算灰度照片亮点平均亮度(行业自用)
1 一圈圈排列的圆形亮点 2 双击确定圆心位置,方便定位同一圆圈上的亮点。
记一次生日页面,源码在此,乙方丢失
记一次生日页面,源码在此,乙方丢失