我正在使用 Netbeans 中的可视化设计编辑器。我有两个带有相应 JLabels 的滑块。我想要的是一个在移动滑块时改变颜色的矩形。我如何将它与设计者生成的代码结合起来?
如何在滑块附近绘制矩形?
我正在使用 Netbeans 中的可视化设计编辑器。我有两个带有相应 JLabels 的滑块。我想要的是一个在移动滑块时改变颜色的矩形。我如何将它与设计者生成的代码结合起来?
如何在滑块附近绘制矩形?
Java 中的颜色是由RGB
值组成的。
Color c = new Color(red, green, blue)
Red
,Green
并且Blue
都具有integer
0 到 255 之间的值。Netbeans 可视化编辑器允许您为滑块设置两者maximum
和minimum
值。
要为颜色添加透明度,请使用
Color c = new Color(red, green, blue, alpha)
Red
, Green
,Blue
和Alpha
都具有介于 0.0 和 1.0 之间的浮点值。
要在移动滑块时更改颜色,请在拖动鼠标时添加一个事件(您可以使用可视化编辑器执行此操作)并用于slider.getValue()
检索值。
要在滑块附近绘制矩形(应该至少有 3 个滑块,每个 rbg 组件一个)检索滑块的位置和尺寸slider.getBounds()
(边界包含x
和y
坐标加width
和height
)
示例(在滑块右侧绘制一个 30x30 20 像素的矩形)
private void mouseDragged(java.awt.event.MouseEvent evt) {
color = new Color(sliderRed.getValue(), sliderGreen.getValue(), sliderBlue.getValue());
this.repaint();
}
public void paint(Graphics g) {
g.setColor(color)
g.fillRect(sliderRed.getBounds().x + sliderRed.getBounds().width + 20, sliderRed.getBounds().y, 30, 30);
}