1. 用java如何隨機生成顏色
//將背景色的值定義成空字元串
var bgColor="";
//循環6次,生成一個隨機的六位數
for (var i = 0 ; i < 6 ; i++)
{
bgColor += "" + Math.round(Math.random() * 9);
}
//將隨機生內成的背景顏色值賦給容頁面的背景色。
document.getElementById("test")
.style.backgroundColor="#" + bgColor;
把下面的代碼放在一個空網頁的最後體驗一下。
<SCRIPT language=javascript type=text/javascript>
var a=Math.round(Math.random()*0x1000000);
var c="00000".concat(a.toString(16));
document.bgColor="#"+c.substr(c.length-6,6);
</SCRIPT>
2. java 中取得背景顏色然後轉換成color
public Color getColor(){
// 這個方法可返回背景色
myColor=c.getBackground();
return myColor;
}
3. java中將顏色值和透明度能否轉換成一個16進制
可以啊; 你只需要了解顏色的基本原理,代碼很容易就寫出來了;屏幕顯示的顏色就RGB三種顏色加上透明度構成的;
#FF0000 紅色
#00FF00綠色
#0000FF藍色
#0000FFCC藍色+透明度
java參考代碼如下
importjava.awt.Color;
publicclassColorDemo{
publicstaticvoidmain(String[]args){
//java.awt.Color類或者使用自定義的顏色類,只要包含r,g,b,a四個屬性就可以了
Colorc1=newColor(50,0,210,204);
System.out.println(awtColorToWeb(c1));
}
(Colorc1){
StringBuilderbuilder=newStringBuilder();
//builder.append("0x");//16進制的標識
builder.append("#");//web16進制顏色開頭的字元
builder.append(getString(c1.getRed()));//紅色轉16進制
builder.append(getString(c1.getGreen()));//綠色轉16進制
builder.append(getString(c1.getBlue()));//藍色轉16進制
builder.append(getString(c1.getAlpha()));//透明度轉16進制
returnbuilder.toString();
}
publicstaticStringgetString(intvalue){
Stringstr=Integer.toHexString(value);//把單色轉成16進制
returnstr.length()==1?"0"+str:str;
//用2個16進制的數字個字元來表示;所以長度不足就補0
//比如"6"-->"06"
}
}
如果你使用javafx的Color類, 那會讓你覺得很簡便 . 因為Color toString() 列印出來就是16進制的顏色.
javafx里顏色參考如下
importjavafx.scene.paint.Color;
publicclassColorDemo{
publicstaticvoidmain(String[]args){
//使用的javafx的Color
Colorc1=Color.rgb(50,0,210,0.8);
System.out.println(c1);//直接就是輸出16進制的顏色
Colorc2=Color.valueOf("#3200d2cc");//web顏色輕松轉16進制
System.out.println(c2);
//web顏色#AABBCCDD-->可簡寫成-->ABCD
Colorc3=Color.valueOf("567c");//web顏色簡寫也支持
System.out.println(c3);
}
}
拓展了解: JavaFX是現代化的圖形界面框架, 支持動畫, 多媒體,3D ,WebView 甚至支持HTML5,事件綁定進制 配合lambda表達式, 代碼簡潔功能強大;
4. java.awt.color的詳細介紹
public class Color extends Object implements Serializable下列類的父類:
System Color
該類封裝了使用 RGB 格式的顏色。在 RGB 格式中,顏色的紅、綠、藍分別用一個位於 0-255 范圍內的整數表示。0 表示這個基色成分沒有貢獻顏色。 255 表示這個顏色成分的最大飽和度。
雖然,Color 類基於包含三個成分的 RGB 模型,它還為 RGB 和 HSB 顏色之間的轉換提供了一系列便利方法。可參見 Foley, van Dam, Feiner, and Hughes, Computer Graphics: Principles and Practice ,來查看 RGB 和 HSB 顏色模型的定義。
變數索引black黑色。blue藍色。cyan青色。darkGray深灰色。gray灰色。green綠色。lightGray淺灰色。magenta品紅色。orange桔黃色。pink粉紅色。red紅色。white白色。yellow黃色。構造子索引Color(float, float, float) 用指定的紅、綠和藍色值創建一個顏色,其中每個值在 0.0-1.0 范圍內。Color(int) 用指定的 RGB 值創建一個顏色,其中參數的 16-23 位表示紅色成分,8-15 位表示綠色成分,0-7 位表示藍色成分。Color(int, int, int) 用指定的紅、綠和藍色成分創建一個顏色。 方法索引brighter() 創建這個顏色的淺顏色版本。darker() 創建這個顏色的深顏色版本。decode(String) 將一個字元串轉換為一個整數,並返回指定的顏色。equals(Object) 確定另一個對象是否與這個顏色相同。getBlue() 獲取這個顏色的藍色成分。getColor(String) 查找系統特性中的一個顏色。getColor(String, Color) 查找系統特性中的一個顏色。getColor(String, int) 查找系統特性中的一個顏色。getGreen() 獲得這個顏色的綠色成分。getHSBColor(float, float, float) 創建一個基於為 HSB 顏色模型提供的值的 Color 對象。getRed() 獲取這個顏色的紅色成分。getRGB() 獲取表示預設的 RGB ColorModel 中的顏色的 RGB 值。hashCode() 計算這個顏色的散列碼。HSBtoRGB(float, float, float) 將用HSB 模型指定的顏色的成分轉換為等價的 RGB 模型的值的集合。RGBtoHSB(int, int, int, float[]) 將用RGB 模式指定的顏色的成分轉換為等價的 HSB 模型的三基色的色調、飽和度和亮度值集合。toString() 創建一個表示這個顏色和它的 RGB 組成成分的值的字元串。 white
public static final Color white白色。
lightGray
public static final Color lightGray淺灰色。
gray
public static final Color gray灰色。
darkGray
public static final Color darkGray深灰色。
black
public static final Color black黑色。
red
public static final Color red紅色。
pink
public static final Color pink粉紅色。
orange
public static final Color orange桔黃色。
yellow
public static final Color yellow黃色。
green
public static finalColorgreen綠色。
magenta
public static final Color magenta品紅色。
cyan
public static final Color cyan青色。
blue
public static final Color blue藍色。 Color
public Color(int r, int g, int b)用指定的紅、綠和藍色成分創建一個顏色。三個參數都必須在 0-255 范圍內。
繪制時實際使用的顏色取決於對給定的輸出設備有效的顏色空間中最匹配的顏色。
參數:r - 紅色成分。 g - 綠色成分。 b - 藍色成分。參見:getRed.,getGreen.,getBlue.,getRGB
Color
public Color(int rgb)用指定的 RGB 值創建一個顏色,其中參數的 16-23 位表示紅色成分,8-15 位表示綠色成分,0-7 位表示蘭色成分。0 表示這個基色成分沒有參與顏色構成。
參數:rgb - 給出紅色、綠色和藍色成分的整數。參見:getRGBdefault,getRed.,getGreen.,getBlue.,getRGB.
Colorpublic Color(float r, float g, float b)用指定的紅、綠和藍色值創建一個顏色,其中每個值在 0.0-1.0 范圍內。0.0 值表示這個基色成分沒有貢獻。值 1.0 表示這個基色成分的最大飽和度。
顯示時實際使用的顏色取決於給定的輸出設備的可用顏色空間中最匹配的顏色。
參數:r - 紅色成分 g - 綠色成分 b - 藍色成分參見:getRed.,getGreen.,getBlue.,getRGB.方法 getRed
public int getRed()獲取這個顏色的紅色成分。返回結果是一個位於 0 和 255 之間的整數。
返回值:這個顏色的紅色成分。參見:getRGB
getGreen
public int getGreen()獲得這個顏色的綠色成分。返回結果是一個位於 0 和 255 之間的整數。
返回值:這個顏色的綠色成分。參見:getRGB
getBlue
public int getBlue()獲取這個顏色的藍色成分。返回結果是一個位於 0 和 255 之間的整數。
返回值:這個顏色的蘭色成分。參見:getRGB
getRGB
public int getRGB()獲取表示預設的 RGB ColorModel 中的顏色的 RGB 值。顏色的紅、綠和藍色成分被分別縮放為位於 0 ( 缺少這個基色 ) 和 255 ( 完全飽和 ) 之間的值。返回整數的 24-31 位是 0xff ,16-23 位表示紅色值,8-15 位表示綠色值,0-7 位表示藍色值。
參見:getRGBdefault,getRed,getGreen,getBlue
brighter
publicColorbrighter()創建這個顏色的淺顏色版本。
該方法在這個顏色的三個 RGB 成分中的每個成分上施加一個任意的比例因子,來創建一個顏色相同,但較淺的版本。雖然 brighter 和 darker 是一對逆操作,由於舍入誤差,執行一系列這兩個方法的調用的結果可能不一致。
返回值:一個新建 Color 對象, 這個顏色的更淺版本。參見:darker
darker
publicColordarker()創建這個顏色的深顏色版本。
返回值:一個新建 Color 對象, 這個顏色的深顏色版本。參見:brighter
hashCode
public int hashCode()計算這個顏色的散列碼。
返回值:這個對象的散列碼。覆蓋:類Object中的hashCode
equals
public booleanequals(Objectobj)確定另一個對象是否與這個顏色相同。
當且僅當參數不為 null ,並且存在一個紅色、綠色和藍色值與這個對象相同的 Color 對象時,結果為 true 。
參數:obj - 比較的對象。返回值:如果是相同對象,則返回 true ,否則返回 false 。覆蓋:類Object中的equals
toString
publicStringtoString()創建一個表示這個顏色和它的 RGB 組成成分的值的字元串。
返回值:表示這個顏色的 String 對象。覆蓋:類Object中的toString
decode
public staticColordecode(Stringnm) throwsNumberFormatException將一個字元串轉換為一個整數,並返回指定的顏色。這個方法處理用於表示八進制和十六進制數的字元串格式。
參數:nm - 將顏色表示為 24 位整數的字元串。返回值:新顏色拋出:NumberFormatException若指定的字元串不能解釋為一個十進制,八進制或十六進制整數。參見:decode
getColor
public staticColorgetColor(Stringnm)查找系統特性中的一個顏色。
參數被當作要獲得的系統特性名來處理。其後,這個特性的字元串值被解釋為一個整數,這個整數接著被轉換成一個顏色。
若指定的特性未找到,或不能當作一個整數來分析,將返回 null 。
參數:nm - 顏色特性的名字返回值:特性的顏色值。參見:getProperty,getInteger,Color
getColor
第一個參數被當做獲得的系統特性名來處理。其後,這個特性的字元串值被解釋為一個整數,這個整數接著被轉換為一個顏色。
若指定的特性未找到,或不能當作一個整數來分析,則返回由第二個參數指定的顏色。
參數:nm - 顏色特性的名字 v - 預設的顏色值。返回值:特性的顏色值。參見:getProperty,getInteger,Color
getColor
若指定的特性未找到,或不能當作一個整數來分析,則使用整數值 v 來替代,並將其轉換為一個顏色。
參數:nm - 顏色特性的名字。 v - 預設的整數顏色值。返回值:特性的顏色值。參見:getProperty,getInteger,Color
HSBtoRGB
HSBtoRGB 返回的整數對整數值中的 0&endash;23 位的顏色值進行編碼,方法 getRGB 使用相同的格式。這個整數可作為帶一個單個整數參數的Color構造子的一個參數。
參數:hue - 顏色的色元。 saturation - 顏色的飽和度。 brightness - 顏色的亮度。返回值:含色調、飽和度和亮度的顏色的 RGB 值。參見:getRGB,Color
RGBtoHSB
若 hsbvals 參數為 null ,則分配一個新的數組來返回結果。否則。該方法返回 hsbvals數組,和存放在數組中的值。
參數:r - 這個顏色的紅色成分。 g - 這個顏色的綠色成分。 b - 這個顏色的藍色成分。 hsbvals - 用於返回三個 HSB 值的數組,或為 null 。返回值:一個包含三個元素的數組,每個元素包含顏色的色調、飽和度和亮度 (按此排序) ,來表示紅色、綠色和藍色成分。參見:getRGB,Color
getHSBColor
public static Color getHSBColor(float h, float s, float b)創建一個基於為 HSB 顏色模型提供的值的 Color 對象。
三個成分的每一個成分應是位於 0 和 1 之間的浮點數 ( 在 0.0 ≤ h, s, b ≤ 1.0 之間的數值 ) 。
參數:h - 色元。 s - 顏色的飽和度。 b - 顏色的亮度。返回值:一個指定色調、飽和度和亮度的 Color 對象
5. java中如何從Color屬性字元串中獲取顏色Color
試試這個
int r=182;
int g=169;
int b=48;
textArea.setForeground(new Color(r,g,b));
6. 在Java中,如何設置一串字元串的顏色
你是用的Java Swing ,如果你想設置表單中文本標筌有設置顏色,可以參考HTML的語法
下面是一個示例,JLabel控制項本身也有一個方法是設置顏色的
publicstaticvoidmain(Stringargs[]){
JFrameframe=newJFrame();
frame.setSize(100,100);
Stringtext="<html>第一行<br/>第二行<br/></html>";
JLabellabel=newJLabel(text);
label.setForeground(Color.red);
frame.add(label);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}