기금넷 공식사이트 - 금 선물 - 자바 스윈도 신기하다: 고리가 서로 맞물린다.

자바 스윈도 신기하다: 고리가 서로 맞물린다.

서문

자바 (Java) 가 어떻게 책상을 잘 하지 못하는지에 대한 논쟁은 유래가 오래되었다. Swing 과 Java D 는 이미 10 여 년의 역사를 가지고 있지만, 키드 JGoodies aver 와 같은 오픈 소스 Swing 구성 요소도 많지만 Java 를 데스크톱 프로그램으로 사용하는 것은 쉬운 일이 아니다. 자바는 신기하다' 시리즈 문장 단지 간단하고 생동감 있는 예를 통해 당신과 함께 자바를 이해하고 스윈을 탐구하고 싶을 뿐이다. (윌리엄 셰익스피어, 자바, 자바, 원어민, 원어민, 원어민, 원어민, 원어민) 사실 창의력과 인내심이 좀 더 필요합니다. 너의 자바 프로그램도 신기할 수 있어! 이 기사는 자바의 멋진 여행으로 안내해 드리겠습니다.

2d 전선관 효과

네트워크 통신에서는 SDH 또는 ATM 에 상위 계층 프로토콜로 호스팅할 수 있는 IP 프로토콜과 같은 프로토콜 간의 호스팅 관계를 표현해야 하는 경우가 많습니다. IP 는 프로토콜로 더 많은 상위 계층 프로토콜을 호스팅할 수 있습니다. 예를 들어, 통신의 Voice over IP 또는 Everything over IP 의 개념과 같은 더 많은 상위 계층 프로토콜을 호스팅할 수 있습니다. 중첩된 3D 슬리브로 프로토콜의 하중을 표현하는 것은 더할 나위 없이 완벽하다 (아래 그림 참조).

구체적인 실현은 매우 간단하다. 주 코드는 다음과 같습니다

수입? Java awt *;; -응? 수입? Java awt geom *;; -응? 수입? Javax swing *;; -응? 수입? Aver *;; -응? 공공? 반? PipleComponent? 확장? JComponent? {? 공공? 무효화? 페인트 (그래픽? G)? {? 그래픽 d? G d? =? (그래픽 d)? G; -응? G d setrenderinghint (rendering hints key _ 앤티앨리어싱? Rendering hints value _ antialias _ on); -응? 외형? Parenthoolloshape = createpiple (g d aver util getrandomcolor () null); -응? Createpiple (g d averutil getrandomcolor () parenthoollowshape); -응? Createpiple (g d averutil getrandomcolor () parenthoollowshape); -응? Createpiple (g d averutil getrandomcolor () parenthoollowshape); -응? Createpiple (g d averutil getrandomcolor () parenthoollowshape); -응? }? 개인? 외형? CreatePiple (그래픽 d? G d int? X? Int? Y? Int? 폭? Int? 키 색깔? 색깔? 괄호 모양)? {? If (괄호 모양! =null){? 직사각형? Bounds = parenthoollowshape getbounds (); -응? 직사각형? RightClip=new? 직사각형 (경계 x+ 경계 폭/경계 y+ 경계 높이); -응? 면적? 클립 = 신규? 면적 (괄호 모양); -응? 클립 추가 (신규? Area (rightclip)); -응? G d setClip (클립); -응? }? Int? CircleWidth? =? 키/ -응? 그래디언트패int? 페인트? =? 새 것? GradientPaint(x? Y? 색상이 더 밝습니까 ()? X? Y? +? (int)? 키? *? )? 더 짙은 색상 ()? 참); -응? G d setPaint (페인트); -응? 타원 D Double? LeftCircle? =? 새 것? 타원 D Double(x circleWidth? /y? CircleWidth? 키); -응? 타원 D Double? 오른쪽 원? =? 새 것? 타원 d 이중 (x? +? 너비 circleWidth? /y? CircleWidth? 키); -응? Int? 두께 =; -응? 타원 D Double? RightHollowCircle? =? 새 것? 타원 D Double(right circle getX()+ 두께? Right circle getY()+ 두께? RightCircle getWidth () 두께 *? Rightcirclegetheight () thickness *); -응? 직사각형? Rect? =? 새 것? 직사각형 (x? Y? 폭? 키); -응? 면적? 면적? =? 새 것? 면적 (왼쪽 원); -응? 영역 추가 (신규? 면적 (rect));); -응? 면적 빼기 (신규? 면적 (right circle));); -응? G d 채우기 (면적); -응? G d setColor (더 어두운 색상 ()); -응? G d 채우기 (오른쪽 원); -응? 페인트? =? 새 것? GradientPaint(x? Y? 색이 짙은 그레이? X? Y? +? (int)? 키? *? )? 밝은 그레이 색상? 참); -응? G d setPaint (페인트); -응? G d fill (right hollow circle); -응? G d setClip (비어 있음); -응? 반환? RightHollowCircle? }? 공공? 정전기? 무효화? 메인 (string []? Args)? {? JFrame? 프레임? =? 새 것? Jframe (); -응? Framesetdefaultcloseoperation (jframeexit _ on _ close); -응? 프레임 세트 크기 (? ); -응? 프레임워크 추가 (신규? Piplecomponent ()); -응? 프레임 세트 비주얼 (true); -응? }? }

세 가지 요약

이 글의 주요 지식 포인트

그래디언트 채우기는 그래디언트를 만들고 밝고 어두운 채우기 모드를 설정합니다.

Clip 에서 mask/cut 과 유사한 Java D 기술의 설정 Clip 기능을 사용하는 그래픽을 살펴보십시오.

면적 사용은 주로 면적과 기타 일반적인 그래픽 처리 기술의 교차 및 병합입니다. 자세한 내용은 Java awt geom Area 클래스를 참조하십시오.

임의 색상을 사용하는 것은 너무 간단합니다. Aver jar 가 있으면 averUtil getRandomColor () 를 직접 사용할 수 있습니다. 그렇지 않은 경우 새 색상을 직접 사용하십시오. 네 번째 int 매개 변수를 사용하여 알파 투명도 변화를 증가시킵니다.

관심이 있으시면 위의 Java D 기술을 사용하여 다음과 같은 효과를 얻을 수 있습니다.