使用Color.brighter方法打印红色,绿色和蓝色值
问题描述:
我似乎无法弄清楚我做错了什么。以下是教科书中的练习:使用Color.brighter方法打印红色,绿色和蓝色值
“在Java库中,其颜色由0到255之间的红色,绿色和蓝色组件指定(请参阅第68页的表4)。编写一个程序BrighterDemo使用红色,绿色和蓝色值分别为50,100和150构建Color对象。然后应用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);
}
}
编辑:我想通IT运UT,这里是正确的代码:
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的用途。根据你的问题,你不需要它。
我想通了,谢谢你的帮助(: – 2014-09-30 23:38:46