2011-09-27 5 views
1

setWindowOpaque(this, false) 메서드로 com.sun.awt.AWTUtilities 메서드를 호출하여 불투명하지 않게 설정 한 모달 JDialog이 있습니다. 내가 불투명로 모달 JDialog을 설정할 때AWTUtilities setWindowOpaque 문제가 발생합니다.

나는 문제가 발생. 예를 들어, 불투명하지 않은 대화 상자의 버튼을 클릭하면 올바르게 팝업되지만 대화 상자를 열고 닫은 후 열립니다. 눈에 보이지 않습니다. 모달이기 때문에 부모 패널에 포함 된 버튼을 클릭 할 수 없습니다. 고정 된 것처럼 보이지만 모달 대화 상자 때문입니다. 내가 방법 setWindowOpaque(this, false)에 호출을 제거하면

, 그것은 아무 문제없이 작동합니다.

무슨 일이 일어나는지 아는 사람이 있습니까?

Windows XP에서 Java 버전 "1.6.0_26"을 사용하고 있습니다.

감사합니다.

+2

[SSCCE] (http://sscce.org) –

+1

* AWTUtilities .. java 버전 "1.6.0_26"을 작성하고 게시하는 것이 좋습니다. * Java 6 J2SE에는 AWTUtilities가 없습니다. 'sun' 또는'com.sun' 클래스, Java 7 또는 다른 것을 언급하고 있습니까? –

+1

[반투명 및 모양의 윈도우를 만드는 방법] (http://java.sun.com/developer/technicalArticles/GUI/translucent_shaped_windows/)도 참조하십시오. – trashgod

답변

0

좋아, 비슷한 문제가 있었는데 때로는 창이 응답하지 않거나 투명도가 깨졌습니다 ... 이상한 문제가 있습니다. Soft clipping and per-pixel translucency for Swing windows

: TransparentWindow 여기에 설명 된 바와 같이 둥근 투명 모서리 투명 윈도우를 만드는 com.sun.awt.AWTUtilities.setWindowOpaque(window,false); 사용 JWindow의 연장하는 클래스

SwingUtilities.invokeLater(new Runnable() { 
    @Override 
    public void run() { 
     TransparentWindow w = new TransparentWindow(); 
     w.setVisible(true); 
    } 
}); 

: new TransparentWindow()invokeLater 내부

용액 적어도 저 호출 된