setTextColor(0xFF0000FF);
創(chuàng)新互聯(lián)-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比新興網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式新興網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋新興地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴(lài)。
//0xFF0000FF是int類(lèi)型的數(shù)據(jù),分組一下0x|FF|0000FF,0x是代表顏色整 數(shù)的標(biāo)記,ff是表示透明度,0000FF表示顏色,注意:這里0xFF0000FF必須是8個(gè)的顏色表示,不接受0000FF這種6個(gè)的顏色表示。
setTextColor(Color.rgb(255, 255, 255));
setTextColor(Color.parseColor("#FFFFFF"));
//還有就是使用資源文件進(jìn)行設(shè)置
setTextColor(this.getResources().getColor(R.color.blue));
//通過(guò)獲得資源文件進(jìn)行設(shè)置。根據(jù)不同的情況R.color.blue也可以是R.string.blue或者
//另外還可以使用系統(tǒng)自帶的顏色類(lèi)
setTextColor(android.graphics.Color.BLUE);
紅色。在eclipse中,關(guān)鍵字有特定的顏色區(qū)分,為紅色。紅色字體是java語(yǔ)法的關(guān)鍵字。 藍(lán)色字體是代碼里面定義的常量,或者字符串值。 黑色字體就是代碼了。
public final static Color white = new Color(255, 255, 255);
public final static Color lightGray = new Color(192, 192, 192);
public final static Color gray = new Color(128, 128, 128);
public final static Color darkGray = new Color(64, 64, 64);
public final static Color black = new Color(0, 0, 0);
public final static Color red = new Color(255, 0, 0);
public final static Color pink = new Color(255, 175, 175);
public final static Color orange = new Color(255, 200, 0);
public final static Color yellow = new Color(255, 255, 0);
public final static Color green = new Color(0, 255, 0);
public final static Color magenta = new Color(255, 0, 255);
public final static Color cyan = new Color(0, 255, 255);
public final static Color blue = new Color(0, 0, 255);
其值在Color類(lèi)內(nèi)部以int的形式存著,24-32位為alpha值,16-23為red,8-15為green,0-7則是blue。默認(rèn)的alpha值為全1,也就是255,完全不透明。
比如說(shuō)
public final static Color pink = new Color(255, 175, 175);
表示在其內(nèi)部顏色的值為255*2^24+255*2^16+175*2^8+175=4294946735
本來(lái)是在drawcomponent這個(gè)里邊使用setBackground,你想啊drawcomponent是繼承JComponent的所以它是一個(gè)容器,所以它同樣有setBackground這個(gè)方法來(lái)設(shè)置它的背景顏色
但是因?yàn)槟阍谠O(shè)置它本身為一個(gè)畫(huà)布,因?yàn)槟阌昧藀aintComponent(Graphics?g)
這個(gè)方法,所以setBackground這個(gè)方法即使你用了也看不到很大的效果。但是有一種取代的方法就是在paintComponent(Graphics?g)方法中首先就用Graphics?所含有的方法g.setColor(Color.black);來(lái)設(shè)置背景顏色再用g.fillRect(0,?0,?this.getWidth(),?this.getHeight());來(lái)填滿(mǎn)整個(gè)容器,這就達(dá)到了設(shè)置背景目的。然后你再g.setColor(其他顏色);來(lái)繪制其它圖形.
具體代碼:(在你以上的代碼上修改了點(diǎn))
public?void?paintComponent(Graphics?g)
{
Graphics2D?g2=(Graphics2D)g;
g.setColor(Color.black);//這里設(shè)置背景顏色
g.fillRect(0,?0,?this.getWidth(),?this.getHeight());//這里填充背景顏色
double?x=100;
double?y=100;
double?w=200;
double?h=150;
Rectangle2D?rect=new?Rectangle2D.Double(x,y,w,h);
g2.setPaint(Color.white);//這里是你設(shè)置其他筆觸顏色
g2.draw(rect);
Ellipse2D?ellipse=new?Ellipse2D.Double();
ellipse.setFrame(rect);
g2.draw(ellipse);
Point2D?p1=new?Point2D.Double(x-40,y-30);
Point2D?p2=new?Point2D.Double(x+w+40,y+h+30);
g2.draw(new?Line2D.Double(p1,p2));
double?centerx=rect.getCenterX();
double?centery=rect.getCenterY();
double?radius=150;
Ellipse2D?circle=new?Ellipse2D.Double();
circle.setFrameFromCenter(centerx,centery,centerx+125,centery+125);
g2.draw(circle);
}
測(cè)試結(jié)果圖
變量類(lèi)型是藍(lán)的。
語(yǔ)法錯(cuò)誤的地方,下面有紅線(xiàn)。變量未被使用則是黃的!