2009-04-06 3 views
10

자바 프로그램의 스윙 UI가 awesome-wm과 완벽하게 작동하지 않습니다. awesome은 UNIX 용 윈도우 관리자로, 프로그램 창 크기를 자동으로 조정하며 스윙 UI는 이러한 크기 조정을 올바르게 인식하지 못합니다. 내가 굉장하거나 자바가 유죄인지, 내가 자바 프로그램을 어떻게 바꿀 수 있는지 알고 싶다면, 그들이 멋지게 작동하는지 상관하지 않는다. 따라서 내 프로그램 사용자는 이국적인 창 관리자를 사용하는 경우에도 올바른 경험을 얻을 수 있습니다.Java-GUI 프로그램 (스윙)을 고칠 수 있습니까?

답변

9

:

BUGS 
    Of course there´s no bug in awesome. But there may be unexpected behaviours. 

    Java applications which use the XToolkit/XAWT backend may draw grey windows only. The XToolkit/XAWT backend breaks ICCCM-compliance 
    in recent JDK 1.5 and early JDK 1.6 versions, because it assumes a reparenting window manager. As a workaround you can use JDK 1.4 
    (which doesn´t contain the XToolkit/XAWT backend) or you can set the following environment variable (to use the older Motif backend 
    instead): AWT_TOOLKIT=MToolkit 
+0

스레드 "main"의 예외 java.lang.UnsatisfiedLinkError : 라이브러리를로드 할 수 없음 :/usr/lib/jvm/java-6-openjdk/jre/lib/i386/motif21/libmawt .so – Mnementh

+1

java-6-openjdk 패키지에는 i386/xawt/libmawt.so 및 i386/headless/libmawt.so 만 있습니다. Sun JDK에는 i386/motif21/libmawt.so도 포함되어 있습니다. –

+0

이 힌트를 가져 주셔서 감사합니다. SUN-JDK가 있으면 작동합니다. – Mnementh

3

이것은 Compiz와 Java (적어도 우분투에서)를 사용하는 것과 비슷한 문제인 것으로 나타났습니다. 그러나 나는 추측하고 있습니다.

( here에서 촬영) 이것에 대한 수정 프로그램에 다음과 같은 환경 변수를 추가하는 것입니다

: 멋진의 사람 페이지에서

AWT_TOOLKIT="MToolkit" 
50

가장 쉬운 해결 방법 - wmname from suckless를 얻을 수 창 관리자의 이름을 LG3D로 설정하려면 다음을 사용하십시오.

wmname LG3D 

시간의 98 %는 문제를 해결할 것입니다.

+1

AWT_TOOLKIT 오버라이드가 더 이상 자바의 최신 버전에서는 작동하지 않지만 현재의 javas에서는 작동합니다. 창 관리자가 문제를 일으키기 전에이 문제를 해결하기 위해 얼마나 많은 시간을 보냈는지 믿지 못할 것입니다. –

+1

그것은 매력처럼 작동합니다. 감사! 그리고 우리는'sudo apt-get install suckless-tools'를 사용하여'wmname'을 설치할 수 있습니다. – tobe

+0

나에게도 적합 Netbeans 8 및 Awesome3 –

관련 문제