Color 類是 Java Abstract Window Toolkit(AWT)包的一部分。 Color 類使用給定的 RGBA 值創建顏色,其中RGBA代表 RED、GREEN、BLUE、ALPHA 或使用HSB值,其中 HSB 代表 HUE、SATURATION、BRI 分量。各個分量 RGBA 的值範圍為 0 到 255 或 0.0 到 0.1。 Alpha 值決定顏色的不透明度,其中 0 或 0.0 代表完全透明,255 或 1.0 代表不透明。
Constructors of Color Class
- 顏色(顏色空間 c,float[] co,float a):使用 float 數組中指定的顏色分量和指定的 alpha 在指定的 ColorSpace 中創建顏色。
- 顏色(浮點 r、浮點 g、浮點 b):使用指定的 RGB 分量創建不透明顏色(值在 0.0 - 0.1 範圍內)
- 顏色(浮點 r、浮點 g、浮點 b、浮點 a):使用指定的 RGBA 分量創建顏色(值在 0.0 - 0.1 範圍內)
- 顏色(int RGB):使用指定的組合 RGB 值創建不透明 RGB 顏色,該值由位 16-23 中的紅色分量、位 8-15 中的綠色分量和位 0-7 中的藍色分量組成。
- 顏色(int rgba,布爾值b):使用指定的組合 RGBA 值創建 sRGB 顏色,該值由位 24-31 中的 alpha 分量、位 16-23 中的紅色分量、位 8 中的綠色分量組成
- 15,藍色分量位於位 0 - 7 中。 - 顏色(int r,int g,int b):使用指定的 RGB 分量創建不透明顏色(值在 0 - 255 範圍內)
- 顏色(int r,int g,int b,int a):使用指定的 RGBA 分量創建顏色(值在 0 - 255 範圍內)
Commonly Used Methods In Color Class
方法 | 解釋 |
---|---|
brighter() | 創建一種新顏色,它是該顏色的更亮版本。 |
createContext(ColorModel cm, 矩形 r, 矩形2D r2d, AffineTransform x, RenderingHints h) | 創建並返回用於生成純色字段圖案的PaintContext。 |
darker()/td> |
創建一種新顏色,該顏色是該顏色的較暗版本。 |
decode(String nm) | 將字符串轉換為整數並返回指定的不透明顏色。 |
equals(Object obj) | 確定另一個 Color 對象是否等於此 Color。 |
getAlpha() | 返回 0-255 範圍內的 alpha 分量。 |
getBlue() | 返回 0-255 範圍內的藍色分量。 |
getColor(String nm) | 在係統屬性中查找顏色。 |
getColor(String nm, Color v) | 在係統屬性中查找顏色。 |
getColor(String nm, int v) | 在係統屬性中查找顏色。 |
getColorComponents(ColorSpace cspace, float[] compArray) | 返回一個浮點數組,僅包含 cspace 參數指定的 ColorSpace 中 Color 的顏色分量。 |
getColorComponents(float[] compArray) | 返回一個浮點數組,僅包含 Color 的顏色分量,位於 Color 的 ColorSpace 中。 |
getColorSpace() | 返回此顏色的ColorSpace。 |
getGreen() | 返回默認 sRGB 空間中 0-255 範圍內的綠色分量。 |
getRed() | 返回默認 sRGB 空間中 0-255 範圍內的紅色分量。 |
getRGB() | 返回表示默認 sRGB ColorModel 中顏色的 RGB 值。 |
getHSBColor(float h, float s, float b) | 根據 HSB 顏色模型的指定值創建 Color 對象。 |
getTransparency() | 返回此顏色的透明度模式。 |
hashCode() | 計算該 Color 的哈希碼。 |
HSBtoRGB(float h, float s, float b) | 將 HSB 值轉換為 RGB 值 |
RGBtoHSB(int r, int g, int b, float[] hsbvals) | 將 RGB 值轉換為 HSB 值 |
以下示例程序旨在說明 Java AWT 中的 Color 類:
- 使用類常量中指定的顏色設置麵板背景顏色的程序
Java
// Java program to set the background color of panel
// using the color specified in the constants
// of the class.
import java.awt.*;
import javax.swing.*;
class color extends JFrame {
// constructor
color()
{
super("color");
// create a new Color
Color c = Color.yellow;
// create a panel
JPanel p = new JPanel();
// set the background of the frame
// to the specified Color
p.setBackground(c);
setSize(200, 200);
add(p);
show();
}
// Main Method
public static void main(String args[])
{
color c = new color();
}
}
輸出:
- 程序通過指定 RGB 值來創建新顏色並將其設置為麵板背景
Java
// Java program to create a new Color by stating
// the RGB value and set it as background of panel
import java.awt.*;
import javax.swing.*;
class color extends JFrame {
// constructor
color()
{
super("color");
// create a new Color
// RGB value of Yellow is 225, 255, 0
Color c = new Color(255, 255, 0);
// create a panel
JPanel p = new JPanel();
// set the background of the
// frame to the specified Color
p.setBackground(c);
setSize(200, 200);
add(p);
show();
}
// Main Method
public static void main(String args[])
{
color c = new color();
}
}
輸出:
- 程序通過指定 RGB 值和 alpha 值來創建新顏色,並將其設置為麵板背景
Java
// Java program to create a new Color by stating the
// RGB value and alpha value, set it as background
// of panel .
import java.awt.*;
import javax.swing.*;
class color extends JFrame {
// constructor
color()
{
super("color");
// create a new Color
// RGB value of red is 225, 0, 0
// and set its alpha value as
// 100 out of 255
Color c = new Color(255, 0, 0, 100);
// create a panel
JPanel p = new JPanel();
// set the background of the
// frame to the specified Color
p.setBackground(c);
setSize(200, 200);
add(p);
show();
}
// Main Method
public static void main(String args[])
{
color c = new color();
}
}
輸出:
- 程序使用 Color(int rgb) 方法創建一個新顏色,並將其設置為麵板背景
Java
// Java program to create a new Color by using
// Color(int rgb) method, set it as background
// of panel .
import java.awt.*;
import javax.swing.*;
class color extends JFrame {
// constructor
color()
{
super("color");
// create a new Color
// RGB value of blue is 255
// and set its alpha value as
// 200 out of 255
Color c = new Color(255);
// create a panel
JPanel p = new JPanel();
// set the background of the
// frame to the specified Color
p.setBackground(c);
setSize(200, 200);
add(p);
show();
}
// Main Method
public static void main(String args[])
{
color c = new color();
}
}
輸出:
- 程序從用戶獲取 RGBA 值並將其設置為麵板背景
Java
// Java Program to take RGBA value from
// user and set it as background of panel
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class color extends JFrame implements ActionListener {
// textfield to enter RGBA value
JTextField R, G, B, A;
// panel
JPanel p;
// constructor
color()
{
super("color");
// create textfield
R = new JTextField(3);
G = new JTextField(3);
B = new JTextField(3);
A = new JTextField(3);
// create labels
JLabel l = new JLabel("Red= ");
JLabel l1 = new JLabel("Green= ");
JLabel l2 = new JLabel("Blue= ");
JLabel l3 = new JLabel("Alpha= ");
// create a panel
p = new JPanel();
// create button
JButton b = new JButton("ok");
JButton b1 = new JButton("brighter");
JButton b2 = new JButton("Darker");
// add ActionListener
b.addActionListener(this);
b2.addActionListener(this);
b1.addActionListener(this);
// add components to panel
p.add(l);
p.add(R);
p.add(l1);
p.add(G);
p.add(l2);
p.add(B);
p.add(l3);
p.add(A);
p.add(b);
p.add(b1);
p.add(b2);
setSize(200, 200);
add(p);
show();
}
// if button is pressed
public void actionPerformed(ActionEvent evt)
{
String s = evt.getActionCommand();
if (s.equals("ok")) {
int r, g, b, a;
// get rgba value
r = Integer.parseInt(R.getText());
g = Integer.parseInt(G.getText());
b = Integer.parseInt(B.getText());
a = Integer.parseInt(A.getText());
// create a new Color
Color c = new Color(r, g, b, a);
// set the color as background of panel
p.setBackground(c);
}
else if (s.equals("brighter")) {
// getBackgroundColor
Color c = p.getBackground();
// make the color brighter
c = c.brighter();
// set the color as background of panel
p.setBackground(c);
}
else {
// getBackgroundColor
Color c = p.getBackground();
// make the color brighter
c = c.darker();
// set the color as background of panel
p.setBackground(c);
}
}
// Main Method
public static void main(String args[])
{
color c = new color();
}
}
輸出:
- 程序從用戶處獲取 HSB 值並將其設置為麵板背景
Java
// Java Program to take HSB value from
// user and set it as background of panel
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class color extends JFrame implements ActionListener {
// textfield to enter RGBA value
JTextField H, S, B;
// panel
JPanel p;
// constructor
color()
{
super("color");
// create textfield
H = new JTextField(3);
S = new JTextField(3);
B = new JTextField(3);
// create labels
JLabel l = new JLabel("Hue= ");
JLabel l1 = new JLabel("Saturation= ");
JLabel l2 = new JLabel("Brightness= ");
// create a panel
p = new JPanel();
// create button
JButton b = new JButton("ok");
JButton b1 = new JButton("brighter");
JButton b2 = new JButton("Darker");
// add ActionListener
b.addActionListener(this);
b2.addActionListener(this);
b1.addActionListener(this);
// add components to panel
p.add(l);
p.add(H);
p.add(l1);
p.add(S);
p.add(l2);
p.add(B);
p.add(b);
p.add(b1);
p.add(b2);
setSize(200, 200);
add(p);
show();
}
// if button is pressed
public void actionPerformed(ActionEvent evt)
{
String st = evt.getActionCommand();
if (st.equals("ok")) {
float h, s, b;
// get rgba value
h = Float.parseFloat(H.getText());
s = Float.parseFloat(S.getText());
b = Float.parseFloat(B.getText());
// create a new Color
Color c = Color.getHSBColor(h, s, b);
// set the color as background of panel
p.setBackground(c);
}
else if (st.equals("brighter")) {
// getBackgroundColor
Color c = p.getBackground();
// make the color brighter
c = c.brighter();
// set the color as background of panel
p.setBackground(c);
}
else {
// getBackgroundColor
Color c = p.getBackground();
// make the color brighter
c = c.darker();
// set the color as background of panel
p.setBackground(c);
}
}
// Main Method
public static void main(String args[])
{
color c = new color();
}
}
輸出:
參考: https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html
相關用法
- Java AWT Choice用法及代碼示例
- Java AWT CardLayout用法及代碼示例
- Java AWT Canvas用法及代碼示例
- Java AWT Dimension用法及代碼示例
- Java AWT MenuShortcut用法及代碼示例
- Java AWT SpringLayout用法及代碼示例
- Java AWT Desktop用法及代碼示例
- Java AWT BoxLayout用法及代碼示例
- Java AWT GridBagLayout用法及代碼示例
- Java AWT GridLayout用法及代碼示例
- Java AWT BorderLayout用法及代碼示例
- Java ArrayList add()用法及代碼示例
- Java ArrayList addAll()用法及代碼示例
- Java ArrayList clear()用法及代碼示例
- Java ArrayList clone()用法及代碼示例
- Java ArrayList contains()用法及代碼示例
- Java ArrayList get()用法及代碼示例
- Java ArrayList indexOf()用法及代碼示例
- Java ArrayList removeAll()用法及代碼示例
- Java ArrayList remove()用法及代碼示例
- Java ArrayList size()用法及代碼示例
- Java ArrayList isEmpty()用法及代碼示例
- Java ArrayList subList()用法及代碼示例
- Java ArrayList set()用法及代碼示例
注:本文由純淨天空篩選整理自andrew1234大神的英文原創作品 Java AWT | Color Class。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。