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.