【发布时间】:2025-12-04 23:10:01
【问题描述】:
我想制作看起来就像色谱一样的自定义 GUI 对象。 但是此色谱应该是交互式的,因此当用户单击该光谱的任何点时,代码会将色谱矩形的该点或坐标与单击的颜色的 rgb 值相关联 点。
光谱的范围应该是从零到最大可能的 rgb 值(教授说让它从零到 255^3,我认为这是不正确的,因为 3 可以是不同的颜色) 那么颜色的范围应该与矩形长边的像素数相关并缩放。 点击部分是由我之前使用过的鼠标监听器完成的,但我不知道如何让它对几次点击做出反应。
那么我怎样才能制作这个对象呢? 我也不想使用 JColorchooser 。
【问题讨论】:
-
你可以看看this example和this example,它们使用相同的技术来产生平滑的颜色渐变,但它可以做的是告诉你在任何给定距离的颜色是什么沿着渐变。仅仅因为这个人做了一些很棒的事情,这对你有帮助,看看this blog
-
@MadProgrammer 谢谢你的回答你能看看[链接](*.com/questions/28518343/…)这个问题吗?它与这个问题有某种关系
-
@MadProgrammer 对多击部分有什么建议吗?
-
您忘记了两个维度,亮度(或亮度)和饱和度。您上面的图像不包含所有可能的 RBG 颜色,例如粉红色、浅蓝色、深青色、白色、黑色等。您正在寻找的东西称为“颜色选择器”,大多数 UI 框架都有一个内置的。没有必要去实现你自己的。
-
嗯,链接的示例应该允许您在特定点获得颜色,这就是它的工作原理......
标签: java swing user-interface colors event-listener