GTK + 테마를 사용하는 Java 앱을 얻으려면 어떻게해야합니까?


답변:


29

Java의 기본 모양과 느낌을 GTK로 설정하려고 할 수 있습니다.

터미널을 열고 (Ctrl + Alt + T) openjdk의 경우 위쪽과 sun java의 경우 아래쪽을 붙여 넣습니다.

gksu gedit /usr/lib/jvm/java-6-openjdk/jre/lib/swing.properties

gksu gedit /usr/lib/jvm/java-6-sun/jre/lib/swing.properties

  • 해당 파일의 주석을 따르고 해시 부호를 제거하십시오.

    # uncomment to set the default look and feel to GTK
    swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
  • Java 앱을 저장하고 다시 시작하십시오.

이전과 이후:


그것을 고치지 않았지만 여전히 나에게 매우 유용합니다 :) 감사합니다!
— RolandiXor

2
감사. 나는 이것을 팁으로 사용했지만 대신 사용했다. UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");구성 파일 편집이 필요하지 않습니다.
— xconspirisist

@RolandiXor 이것이 작동하지 않으면 앱 개발자가 모양과 느낌을 하드 코딩했음을 의미합니다. 오픈 소스가 아니라면 당신이 할 수있는 일은 없습니다. :(
— stommestack

1
"jdk 굵은 글꼴"버그를 해결하기 위해 저를 도와주었습니다. 고맙습니다.
— Minner

Ubuntu Mate 14에서 universalmediaserver를 수정하지 않았습니다.
— NicolasSmith

10

위의 솔루션을 이미 시도한 경우 이것을 사용해보십시오 (Xfce에서 나를 도왔습니다)

  1. export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'

  2. 그런 다음이 터미널에서 앱을 시작하십시오.

  3. 결과에 만족하면이 줄을 ~/.profile파일에 추가 하십시오.

이것을 넣는 ~/.profile것은 효과가 없었지만 나는 넣었 _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -Dswing.crossplatformlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel" 습니다 /etc/environment(작은 따옴표 대신 double을 사용하고 잃어 export버리면 마술이 작동하지 않습니다).
— 광자

SweetHome3D 및 Ubuntu 18.04
— NicolasSmith (

7

개발자이거나 오픈 소스 인 경우 다른 방법은 응용 프로그램의 모양과 느낌을 변경하는 것입니다. main메소드에 아래 코드를 삽입하십시오 .

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("com.sun.java.swing.plaf.gtk.GTKLookAndFeel".equals(info.getClassName())) {   
       javax.swing.UIManager.setLookAndFeel(info.getClassName());
       break;
     } 
}

이것은 또한 도움이 될 수 있습니다.


@Jop 다른 플랫폼에 대해 확신하십니까? KDE 테마는 어떻습니까?
— giannis christofakis

1
신경 쓰지 마, 내가 틀렸어, 미안 하지만 왜 안되지 javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");?
— stommestack

2
@Jop Java응용 프로그램은 플랫폼에 독립적 이므로 GTK테마가 시스템에 설치되어 있는지 확인 해야합니다.
— giannis christofakis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.