ฉันจะรับแอป java เพื่อใช้ธีม GTK + ได้อย่างไร


31

มีวิธีรับแอพ java เพื่อใช้ธีม gtk ของฉันหรือไม่?


1
คำถามที่คล้ายกันสำหรับ KDE / Qt: askubuntu.com/questions/6948/…
Mechanical snail

คำตอบ:


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

ไม่ได้แก้ไขสำหรับ universalmediaserver บน Ubuntu Mate 14.
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.