使用Color.brighter方法打印红色,绿色和蓝色值

时间:2014-09-30 23:18:01

标签: java colors

我似乎无法弄清楚我做错了什么。以下是教科书中的练习:

"在Java库中,颜色由红色,绿色和蓝色组件指定,介于0到255之间(请参阅第68页的表4)。编写一个程序BrighterDemo,用红色,绿色和蓝色值50,100和150构造一个Color对象。然后应用Color类的更亮的方法并打印所得颜色的红色,绿色和蓝色值& #34;

这是我到目前为止的代码:

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

1 个答案:

答案 0 :(得分:1)

您的代码有一些不太恰当的地方:

  1. 您正在创建颜色brighterRedColor, brighterGreenColor, brighterBlueColor,但不会对它们执行任何操作(例如将其打印出来)
  2. 您创建的颜色基于静态Color.red, Color.green, Color.blue实例,而不是myColor对象。
  3. 您的问题是要求您获取myColor的RGB值,并在将brighter()应用于您的颜色后输出它们。不要创造3种新颜色并使它们变亮。
  4. 不确定JFrame的用途。根据您的问题,您不需要它。