聲明是指對(duì)象,定義才是指類比較好理解。
創(chuàng)新互聯(lián)建站是一家專業(yè)提供黑山企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都做網(wǎng)站、HTML5、小程序制作等業(yè)務(wù)。10年已為黑山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
java里如何聲明一個(gè)顏色類對(duì)象。
java里如何定義一個(gè)顏色類。
如果是第一種的話: ? java.awt.Color color;
如果是?第二種就是自定義類,需要看具體需求來,或者可以參考java.awt.Color的源碼。
1、首先打開java編譯軟件,引入愛心代碼編程。
2、其次打開圖面編譯,選擇編輯顏色。
3、最后在該代碼編程中輸入需要添加的顏色即可。
本來是在drawcomponent這個(gè)里邊使用setBackground,你想啊drawcomponent是繼承JComponent的所以它是一個(gè)容器,所以它同樣有setBackground這個(gè)方法來設(shè)置它的背景顏色
但是因?yàn)槟阍谠O(shè)置它本身為一個(gè)畫布,因?yàn)槟阌昧藀aintComponent(Graphics?g)
這個(gè)方法,所以setBackground這個(gè)方法即使你用了也看不到很大的效果。但是有一種取代的方法就是在paintComponent(Graphics?g)方法中首先就用Graphics?所含有的方法g.setColor(Color.black);來設(shè)置背景顏色再用g.fillRect(0,?0,?this.getWidth(),?this.getHeight());來填滿整個(gè)容器,這就達(dá)到了設(shè)置背景目的。然后你再g.setColor(其他顏色);來繪制其它圖形.
具體代碼:(在你以上的代碼上修改了點(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);
}
測試結(jié)果圖
1、首先進(jìn)入javaAPP。
2、其次選擇金褐中顏色代碼。
3、最后選擇想要添加的位置進(jìn)行添加即可。
按位與、|按位或、位移運(yùn)算。
pixNum[index++] = (255)|(red64)|(green24)|(blue128);
先賦值,再++。
但是,為什么要與255進(jìn)行“或”呢?
255,正數(shù),原碼是0111 1111,反碼是0111 1111,補(bǔ)碼是0111 1111。
顯然,255跟任何數(shù)“或”,是補(bǔ)碼進(jìn)行“或”,結(jié)果不是1111 1111,就是0111 1111。當(dāng)對(duì)方為負(fù)數(shù)時(shí),為前者;當(dāng)對(duì)方為正數(shù)時(shí),為后者。即:考察符號(hào)位是1還是0。
所以感覺數(shù)組賦值那句話,是在選取顏色,紅綠藍(lán)分別進(jìn)行了位移運(yùn)算,移動(dòng)的位數(shù)就是待考察的位置,移動(dòng)了之后,通過判斷結(jié)果是1111 1111還是0111 1111,從而得知紅綠藍(lán)中有幾種顏色的待考察位置符合要求。
至于前三句,跟0xFF“與”,我就很不理解了,沒意義的嘛。
這幾句代碼,應(yīng)該是某個(gè)具體應(yīng)用的吧,貌似與硬件關(guān)系密切,單純分析代碼很難,結(jié)合實(shí)際吧,是做什么用的,從那里下手好些。
pixNum[index++] 這種寫法,在C編寫單片機(jī)時(shí)會(huì)用到,java應(yīng)用程序好像很少這樣寫,習(xí)慣而已。