Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中使颜色变暗_Java_Colors - Fatal编程技术网

如何在Java中使颜色变暗

如何在Java中使颜色变暗,java,colors,Java,Colors,我正在用java制作一个绘图工具,但橙色看起来有点太浅了。 在函数public color darker()中将颜色名称放在何处 public void clear(){ g2.setPaint(颜色为白色); //在整个绘图区域上绘制白色以清除 g2.fillRect(0,0,getSize().width,getSize().height); g2.setPaint(颜色为黑色); 重新油漆(); } 公共空间红色(){ //在g2上下文上应用红色 g2.setPaint(颜色为红色); }

我正在用java制作一个绘图工具,但橙色看起来有点太浅了。 在函数
public color darker()
中将颜色名称放在何处

public void clear(){
g2.setPaint(颜色为白色);
//在整个绘图区域上绘制白色以清除
g2.fillRect(0,0,getSize().width,getSize().height);
g2.setPaint(颜色为黑色);
重新油漆();
}
公共空间红色(){
//在g2上下文上应用红色
g2.setPaint(颜色为红色);
}
公共空间(黑色){
g2.setPaint(颜色为黑色);
}
公共无效品红色(){
g2.setPaint(颜色为洋红色);
}
公共绿地(){
g2.setPaint(颜色为绿色);
}
公共空间蓝色(){
g2.setPaint(颜色为蓝色);
}
公共空间黄色(){
g2.setPaint(颜色为黄色);
}
公共空间橙色(){
g2.setPaint(颜色为橙色,颜色较深);
}
}
请告诉我该写些什么来使橙色更暗。

您可以做:

Color.ORANGE.darker()

此外,如果您仍然认为光线不够暗,您甚至可以:

Color.orange.darker().darker().darker().darker().darker() // as many times as you want!
此外,类中定义的默认橙色为:

new Color(255, 200, 0)
如果你愿意,你可以用这些数字做点什么

在代码中,更改此行:

g2.setPaint(Color.orange.darker);

以及


以下是我创建的内容:

public static int darker (int color, float factor) {
    int a = Color.Orange( color );


    return Color.argb( a,
            Math.max( (int)(r * factor), 0 ));
}

color=color.darker()?关键点是
变暗()
返回一种新颜色:它不会使
color.ORANGE
变暗。因此,这些语句实际上是无效的-您需要对结果做些什么。@AndyTurner,这不是您所认为的!(对不起!)这就像-
setBackground(Color.orange.darker())对。所以如果将结果传递给
setBackground
,您正在对结果进行处理。听起来很像我说的。如果你认为是这样的话,那么从每一行中删除分号,因为它们暗示了Andy说的话(编辑之前你的错误评论也表明了这一点)。谢谢你的帮助。对于这个类,
Color.Orange
不是一个方法,
Color.argb
不是一个方法,未定义
r
。如果您指的是其他
颜色
类,请说明该类是什么。
g2.setPaint(Color.orange.darker()); // darker ain't a var, it is a method.
drawArea.orange.darker();
 drawArea.orange(); //You cannot call darker() on void!
public static int darker (int color, float factor) {
    int a = Color.Orange( color );


    return Color.argb( a,
            Math.max( (int)(r * factor), 0 ));
}