2009-06-17 2 views
1

사각형을 JPanel에 그리는 방법을 알고 있지만 사각형이 화면에 그려져 사각형이 떠있는 것처럼 보이게하려면 어떻게해야합니까? 보다 구체적으로는 채워지지 않은 사각형입니다. 내 생각은 그 위에 그려진 사각형이있는 투명 JFrame을 사용하는 것입니다. 그러나 이렇게하면 JFrame의 모든 내용이 투명 해집니다.화면에 떠 다니는 사각형

내 솔루션 그래서 나는 이것에 대해가는 많은 방법, 다른 사람보다 좀 더 복잡한, 다른 사람보다 좀 더 실용적인 있다고 생각.

스플래시 화면을 사용해 보았습니다. 문제는 실행시 VM 매개 변수 "-splash"를 전달해야한다는 것입니다. 나는 이것을 자동화/일식에 매개 변수를 넣으려면 매니 페스트 파일을 만들었습니다; 그러나 코드는 .gif 파일에 종속되어 있으며 사각형의 크기/위치를 쉽게 변경할 수 없습니다. 스크린 샷을 통해 위조하는 동안 비슷한 문제가 발생합니다. 좋은 제안 그러나, 나는 꽤 시원한 약간의 재료를 배웠다.

그래서, 내가 한 일로 돌아갑니다. JFrame을 사용하여 내용 창을 가져 와서 배경을 빨간색으로 설정 한 다음 제목 표시 줄과 테두리를 제거하는 undecorated 프레임을 설정합니다. 이것은 (frame.setSize, .setLocation)의 크기와 위치를 쉽게 변경할 수있는 부동 사각형을 만들었습니다. 아직 채워지지 않은 직사각형을 만들지 않고 내부 프레임과 layeredpane을 시도했지만 성공하지 못했습니다.

+0

j6에는 스플래시 화면 api http://java.sun.com/developer/ 기술 문서/J2SE/데스크탑/javase6/스플래시 스크린 / –

답변

0

실제로 그려지는 사각형은 투명하지 않으면 서 창의 일부분을 투명하게 만들어야 할 것입니다. 플랫폼에 독립적 인 솔루션이있을 것입니다. JNI에 의존해야합니다. 필요한 작업에 따라 다른 트릭도 필요로하는 클릭에 대해서는 보이지 않는 창을 만드는 것이 좋습니다. 프로젝트 라이브러리를 제공하며, 반투명이고, 당신이해야 할 노력하고 심지어 어떤 초월 시계와 정보 풍선의 예를 가지고

1

JFrame은 중량 구성 요소이며 항상 긴 시간 동안 불투명합니다. 그러나, 자바 6u10 이후, 가장 가능성이 이전 버전의 자바 7에 공식이 될 것이다 클래스 com.sun.awt.AWTUtilities 투명 창을위한 inofficial API이,이, 유일한 방법은 java.awt.Robot

0
로 촬영 fake it via screenshots이었다 이런 종류의 시뮬레이션

JLayeredPane을보고 싶을 수도 있습니다. 이 페이지의 데모는 원하는 부분을 부분적으로 보여 주지만 사각형을 페인팅 할 때는 페인트를 투명하게 설정해야합니다.

AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.5f); 
g2d.setComposite(ac); 
g2d.drawImage(image, x, y, this); 
관련 문제