AWT Color类

1 什么是Java AWT Color

Color 类声明默认 sRGB 颜色空间中的颜色或由 ColorSpace 标识的任意颜色空间中的颜色。

2 Java AWT Color的语法

public class Color
   extends Object
      implements Paint, Serializable

3 Java AWT Color的构造方法

构造方法 描述
Color(ColorSpace cspace, float[] components, float alpha) 使用浮点数组中指定的颜色分量和指定的 alpha 在指定的 ColorSpace 中创建颜色。
Color(float r, float g, float b) 使用范围 (0.0 - 1.0) 中的指定红色、绿色和蓝色值创建不透明的 sRGB 颜色。
Color(float r, float g, float b, float a) 使用范围 (0.0 - 1.0) 中的指定红色、绿色、蓝色和 alpha 值创建 sRGB 颜色。
Color(int rgb) 使用指定的组合 RGB 值创建不透明的 sRGB 颜色,该值由位 16-23 中的红色分量、位 8-15 中的绿色分量和位 0-7 中的蓝色分量组成。
Color(int rgba, boolean hasalpha) 使用指定的组合 RGBA 值创建 sRGB 颜色,该值由位 24-31 中的 alpha 分量、位 16-23 中的红色分量、位 8-15 中的绿色分量和位 0-7 中的蓝色分量组成。
Color(int r, int g, int b) 使用范围 (0 - 255) 中的指定红色、绿色和蓝色值创建不透明的 sRGB 颜色。
Color(int r, int g, int b, int a) 使用范围 (0 - 255) 中的指定红色、绿色、蓝色和 alpha 值创建 sRGB 颜色。

4 Java AWT Color的方法

方法 描述
Color brighter() 创建一个新颜色,它是该颜色的更亮版本。
PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints) 创建并返回用于生成纯色图案的 PaintContext。
Color darker() 创建一个新颜色,它是该颜色的较暗版本。
static Color decode(String nm) 将字符串转换为整数并返回指定的不透明颜色。
boolean equals(Object obj) 确定另一个对象是否等于此颜色。
int getAlpha() 返回 0-255 范围内的 alpha 分量。
int getBlue() 返回默认 sRGB 空间中 0-255 范围内的蓝色分量。
static Color getColor(String nm) 在系统属性中查找颜色。
static Color getColor(String nm, Color v) 在系统属性中查找颜色。
static Color getColor(String nm, int v) 在系统属性中查找颜色。
float[] getColorComponents(ColorSpace cspace, float[] compArray) 返回一个浮点数组,该数组仅包含 cspace 参数指定的 ColorSpace 中 Color 的颜色分量。
float[] getColorComponents(float[] compArray) 在 Color 的 ColorSpace 中返回仅包含 Color 的颜色分量的浮点数组。
ColorSpace getColorSpace() 返回此 Color 的 ColorSpace。
float[] getComponents(ColorSpace cspace, float[] compArray) 在 cspace 参数指定的 ColorSpace 中返回包含 Color 的颜色和 alpha 分量的浮点数组。
float[] getComponents(float[] compArray) 在 Color 的 ColorSpace 中返回一个包含 Color 的颜色和 alpha 分量的浮点数组。
int getGreen() 返回默认 sRGB 空间中 0-255 范围内的绿色分量。
static Color getHSBColor(float h, float s, float b) 根据 HSB 颜色模型的指定值创建一个 Color 对象。
int getRed() 返回默认 sRGB 空间中 0-255 范围内的红色分量。
int getRGB() 返回表示默认 sRGB ColorModel 中颜色的 RGB 值。
float[] getRGBColorComponents(float[] compArray) 在默认的 sRGB 颜色空间中返回仅包含 Color 的颜色分量的浮点数组。
float[] getRGBComponents(float[] compArray) 返回一个包含 Color 的颜色和 alpha 分量的浮点数组,如默认的 sRGB 颜色空间所示。
int getTransparency() 返回此颜色的透明度模式。
int hashCode() 计算此颜色的哈希码。
static int HSBtoRGB(float hue, float saturation, float brightness) 将 HSB 模型指定的颜色分量转换为默认 RGB 模型的等效值集。
static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals) 将默认 RGB 模型指定的颜色分量转换为一组等效的色相、饱和度和亮度值,它们是 HSB 模型的三个分量。
String toString() 返回此颜色的字符串表示形式。

5 Java AWT Color的例子

让我们看一个简单的Java AWT Color类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("一点教程网:Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      Graphics2D g2 = (Graphics2D)g;        
      Font plainFont = new Font("Serif", Font.PLAIN, 24);        
      g2.setFont(plainFont);
      g2.setColor(Color.red);
      g2.drawString("Welcome to yiidian.com", 50, 70); 
      g2.setColor(Color.GRAY);
      g2.drawString("Welcome to yiidian.com", 50, 120);  
   }
}

输出结果为:

热门文章

优秀文章