ããJava èªä» 1995 å¹´åå¸ä»¥æ¥ï¼å ¶å¾å½¢çé¢ä¸ç´ä¸ºä¸äººæè¯ç ãæ 论æ¯æ©æç AWTï¼è¿æ¯åæ¥ç Swing åºç¨ç¨åºä¸è½åæ¬å°åºç¨ç¨åºä¸æ ·æ§è¡ï¼å¤è§ä¹ä¸ä¸æ ·ï¼ååºçé度ä¹ä¸å¿«ãSWT å¸æ¶äº AWT å Swing å®ç°çæ好çé¨å : å½å¯ä»¥å¾å°æ¬å°ç»ä»¶æ¶è°ç¨æ¬å°å®ç°ï¼å½ä¸è½å¾å°æ¬å°ç»ä»¶æ¶ä½¿ç¨ Java å®ç°ãè¿å°±åæ¶ä¿è¯äºä¸æ¬å°çªå£é¨ä»¶ç¸å½çå¤è§ï¼åæé«äºååºé度ã
ããç®å SWT 已被广æ³åºç¨äºå¼å JAVA å¯å®¢æ·ç«¯ï¼ä½æ¯åºäº SWT/RCP çåºç¨ç¨åºçé¢é½æ¯ç»å ¸ç Eclipse çé¢é£æ ¼ : èè²çæ é¢æ ãç°è²çå·¥å ·æ åç¶ææ ãåæ¹å½¢çè§å¾åç¼è¾å¨ãè¿æ¯åæ¹çæ§ä»¶ï¼è¿äºçé¢è¿äºæ´ç´ ï¼ç¼ºä¹å¸å¼åã
ããå ¶å®æ们å¯ä»¥åºäº SWT/RCPï¼ç¼åæ¼äº® GUI ççé¢ãèªå®ä¹çªå£çå½¢ç¶ï¼éè¿å¾çèæ¯æ¥ç¾å SWT/RCP çªä½çé¢ãçªä½å¯ä»¥æ¯å¤è¾¹å½¢ï¼å¦ç©å½¢ãåå½¢ã以åè¿äºå½¢ç¶çå å ãæé®æ§ä»¶ä¹å¯ä»¥ä»»æå¤è¾¹å½¢ã
ããä¸å¾æ¯ç»å ¸ç Eclipse é£æ ¼çé¢åç¾ååçé¢çæ¯è¾ï¼å·¦é¢æ¯ä¸ä¸ªç»å ¸ç SWT/RCP çªä½çé¢ï¼å³é¢æ¯ç¾ååççªä½ï¼é»è²çå¤æ¡ç±ä¸ä¸ªç©å½¢åä¸ä¸ªåå½¢çå å èæãåå½¢çææ¾æé®ãå弧形çéåºæé®ãä¸è§åçæ¾æ è§å¾çã
ããreturnãrect;
ã}ã
ããRegion ç±»éé¢ä¹æä¾äºç´æ¥çæç©å½¢çå½æ° add(Rectangle rect)å add(int x, int y, int width, int height)ãå¦æè¦çæä¸è§åççªä½ï¼å¦åå½¢ï¼æè å ¶ä»å½¢ç¶ççªä½ï¼Region ä¸ç´æ¥æä¾å½æ°ï¼åªè½éè¿åæ æ°ç»æ¥å®ç°ã
ããå¦å¾æ示ï¼åå½¢æ¯éè¿ä¸ç»éæ¶éè¿æ¥èæçç¹ææï¼å个ç¹å¯ä»¥æååå¾ï¼åå¿åæ æ¨ç®èæãA1 çåæ æ¯ (Xo-r, Yo). An ç X åæ æ¯ XAn=Xo-r+nï¼Y åæ æ¯ YAn=Yo+Rã
ããçæåå½¢åæ æ°ç»çå½æ°ä»£ç å¦ä¸ï¼
ããæ¸ å 2. çæåå½¢åæ æ°ç»çå½æ°ä»£ç
ããint[]ãcircle(intãr,ãintãoffsetX,ãintãoffsetY)ã{
ããint[]ãringã=ãnewãint[8ã*ãrã+ã4];ã
ãã//ãx^2ã+ãy^2ã=ãr^2ã
ããforã(intãiã=ã0;ãiã<ã2ã*ãrã+ã1;ãi++)ã{ã
ãããintãxã=ãiã-ãr;ã
ãããintãyã=ã(int)ãMath.sqrt(rã*ãrã-ãxã*ãx);ã
ãããringã[2ã*ãi]ã=ãoffsetXã+ãx;ã
ãããringã[2ã*ãiã+ã1]ã=ãoffsetYã+ãy;ã
ãããringã[8ã*ãrã-ã2ã*ãiã-ã2]ã=ãoffsetXã+ãx;ã
ãããringã[8ã*ãrã-ã2ã*ãiã-ã1]ã=ãoffsetYã-ãy;ã
ãã}ã
ããreturnãring;ã
ã}ã
ããæ¥æºï¼ ibm ä½è ï¼é¥¶ææ¸