我似乎无法弄清楚我在做什么错。这是教科书中的练习:
“在Java库中,颜色由0、255之间的红色,绿色和蓝色分量指定(请参阅第68页的表4)。编写程序BrighterDemo,该程序用红色,绿色和蓝色构造Color对象。值分别为50、100和150。然后应用Color类的更明亮的方法,并打印所得颜色的红色,绿色和蓝色值”
这是我到目前为止的代码:
import java.awt.Color;
import javax.swing.JFrame;
public class BrighterDemo
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
frame.setSize(200, 200);
Color myColor = new Color(50, 100, 150);
Color brighterRedColor = myColor.red.brighter();
Color brighterGreenColor = myColor.green.brighter();
Color brighterBlueColor = myColor.blue.brighter();
frame.getContentPane().setBackground(myColor);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
编辑:我想通了,这是正确的代码:
import java.awt.Color;
public class BrighterDemo
{
public static void main(String[] args)
{
Color myColor = new Color(50, 100, 150);
Color brighterColor = myColor.brighter();
System.out.println("Red - ");
System.out.println(brighterColor.getRed());
System.out.println("Green - ");
System.out.println(brighterColor.getGreen());
System.out.println("Blue - ");
System.out.println(brighterColor.getBlue());
}
}
最佳答案
您的代码有些不正确的地方:
您正在创建颜色brighterRedColor, brighterGreenColor, brighterBlueColor
,但不对其进行任何处理(例如将其打印出来)
您创建的颜色基于静态Color.red, Color.green, Color.blue
实例,而不是myColor
对象。
您的问题是要您获取myColor
的RGB值并在对颜色应用brighter()
之后将其输出。不要创建3种新颜色并使其变亮。
不知道JFrame是干什么用的。根据您的问题,您不需要它。
关于java - 使用Color.brighter方法打印红色,绿色和蓝色值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26131754/