本來(lái)是在drawcomponent這個(gè)里邊使用setBackground,你想啊drawcomponent是繼承JComponent的所以它是一個(gè)容器,所以它同樣有setBackground這個(gè)方法來(lái)設(shè)置它的背景顏色
創(chuàng)新互聯(lián)主營(yíng)市中網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開發(fā)定制,市中h5微信小程序搭建,市中網(wǎng)站營(yíng)銷推廣歡迎市中等地區(qū)企業(yè)咨詢
但是因?yàn)槟阍谠O(shè)置它本身為一個(gè)畫布,因?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)填滿整個(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é)果圖
1、首先進(jìn)入javaAPP。
2、其次選擇金褐中顏色代碼。
3、最后選擇想要添加的位置進(jìn)行添加即可。
setTextColor(0xFF0000FF);
//0xFF0000FF是int類型的數(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)自帶的顏色類
setTextColor(android.graphics.Color.BLUE);