1

我正在使用 Netbeans 中的可视化设计编辑器。我有两个带有相应 JLabels 的滑块。我想要的是一个在移动滑块时改变颜色的矩形。我如何将它与设计者生成的代码结合起来?

如何在滑块附近绘制矩形?

4

1 回答 1

2

Java 中的颜色是由RGB值组成的。

Color c = new Color(red, green, blue)

Red,Green并且Blue都具有integer0 到 255 之间的值。Netbeans 可视化编辑器允许您为滑块设置两者maximumminimum值。

要为颜色添加透明度,请使用

Color c = new Color(red, green, blue, alpha)

Red, Green,BlueAlpha都具有介于 0.0 和 1.0 之间的浮点值。

要在移动滑块时更改颜色,请在拖动鼠标时添加一个事件(您可以使用可视化编辑器执行此操作)并用于slider.getValue()检索值。

要在滑块附近绘制矩形(应该至少有 3 个滑块,每个 rbg 组件一个)检索滑块的位置和尺寸slider.getBounds()(边界包含xy坐标加widthheight

示例(在滑块右侧绘制一个 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);
}
于 2012-05-23T22:03:25.443 回答