调色板Q30 E01

显示
上方带颜色的区域 是一个 设置了背景颜色的托盘,
比如 Pane
注意各个组件的对齐方式
背景知识
获得焦点
当鼠标光标放在 输入框内 并点击后,键盘如果打字,打的字会进入刚被点击的 输入框内。
我们此时称这个组件,获得焦点(Focus)
失去焦点
当一个输入框获得焦点后,如果以下任意一件发生,我们会说当前输入框失去焦点
1. 点击另外一个输入框,或者按钮
2. 按 键盘的 Tab 键
使用 Hex 设置颜色
当用户在 Hex 区域输入颜色码后,失去焦点后,颜色板的颜色应该变化
大小写
用户可能会在这个位置输入 大写 十六进制,也可能输入 小写十六进制
不管用户输入什么,需要在失去焦点后,将其改为大写
合法值
这个区域的合法值 应该是 一个 6 位 16进制
如果用户没有输入合法值
比如输入 哈哈哈
或 3333
或 ZZAX01
则在失去焦点后,将其改为 000000
默认值
程序启动时,显示 000000
快捷方式
颜色有web 安全色,也就是 RGB 各仅由一位 16 进制表达。
此时,需要做自动转换
比如,如果用户输入的是 ABC
需要在消失焦点后 将其自动变为 AABBCC
使用 RGB 设置颜色
当用户在 RGB 任意输入框输入数值,之后失去焦点后,颜色版的颜色应该变化
合法值
这个区域的合法值 应该是 一个 0 - 255 的整数
如果用户没有输入合法值
比如输入 ABC
或 256
或 -1
则在失去焦点后,将其改为 0
默认值
程序启动时,三个输入框均显示 0
输入框同步
Hex 到 GRB
当 Hex 输入框消失焦点后,
RGB 的输入框内的数据,应该显示其对应的 10 进制的值
RGB 到 Hex
当 RGB 输入框任意一个失去焦点后,
Hex 的输入框内的数据,应该显示其对应的 16 进制的值
随机按钮
点击 Random 后,为当前颜色设置一个随机的值
颜色面板的颜色随之变动,Hex 和 RGB 的值也跟着一起变
随机纯度
为了让颜色更好看,我们需要按以下规则随机,颜色的饱和度的就会很高,跟艳丽
RGB 中有一个 为 255,另外一个 为 0,另外一个 为 0 - 255 之间的随机值
持久化
保存
点击 Save 后,需要将 RGB 信息 存到文件里。
恢复
开启程序时,读取文件,如果有数据,则显示上次保存的颜色。
如果没有,则保持现有默认规则