使用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()); 
    } 
} 

有几件事情不太同意你的代码的权利:

  1. 正在创建的颜色brighterRedColor, brighterGreenColor, brighterBlueColor,而不是与他们做任何事情(如印刷他们出)
  2. 您创建的颜色是基于静态Color.red, Color.green, Color.blue实例,而不是您的myColor对象。
  3. 您的问题是要求您获取myColor的RGB值,并在将brighter()应用于您的颜色后输出它们。不要创建3种新颜色并照亮它们。
  4. 不确定JFrame的用途。根据你的问题,你不需要它。
+0

我想通了,谢谢你的帮助(: – 2014-09-30 23:38:46