Есть ли способ заставить java-приложения использовать мою тему gtk?
Есть ли способ заставить java-приложения использовать мою тему gtk?
Ответы:
Вы можете попробовать установить внешний вид и стиль 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.
До и после:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
который не требует редактирования файла конфигурации.
Если вы уже попробовали вышеуказанные решения - попробуйте использовать это (помогло мне в Xfce):
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'
Затем запустите в этом терминале свое приложение.
~/.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
(обратите внимание на использование двойных , а не одиночные кавычки , и недостающее export
, иначе магия не работает).
Если вы разработчик или у вас открытый исходный код, альтернативный способ - изменить внешний вид приложения. Вставьте приведенный ниже код в 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;
}
}
Это может быть также полезно.
javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel");
?
Java
приложения не зависят от платформы, вам следует проверить, установлена ли GTK
тема в вашей системе.