LINUX.ORG.RU

Почему java-gui такая боль?

 ,


2

1

Вы не подумайте, в системе у меня шрифты норм. Понадобилось тут полазить внутри андроидного приложения. Нагуглил jd-gui, поставил, запустил и заплакал http://i.imgur.com/Pk6gfRU.png

И это, кстати, не первый раз. Ставил недавно android studio, там оно, конечно, отгламурено, но все равно суровая мужская слезинка прокатилась по суровой щеке. Почему на фоне православного gtk или даже басурманского qt, джава-гуйи выглядят так мерзко? Или оно мерзкое только в линуксе, а в винде и макоси норм? Если это так, то накидайте, пожалуйста, скринов из макоси и винды.

Перемещено leave из talks


На сколько помню, jd-gui использует native look and feel для swing. Под онтопиком оно реализовано с помощью gtk2. Я так понимаю, он у тебя просто не стоит, поэтому jd-gui использует стиль swing по-дефолту.

com
()

В Swing поломан рендеринг шрифтов на линуксе. Поэтому оно будет всегда отображаться криво. Есть патченная версия OpenJDK. Но если нужен Oracle JDK, то придется страда^W терпеть.

Nedis
()

что я делаю не так?

скрин
Стоит оупенсьюз 42.1, жаба от оракла.

user@user:~> java -version
java version "1.8.0_66"
Java(TM) SE Runtime Environment (build 1.8.0_66-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.66-b17, mixed mode)

ii8_ ★★★★
()
Последнее исправление: ii8_ (всего исправлений: 1)
Ответ на: что я делаю не так? от ii8_

У тебя терпимо выглядит. Может дело в этом

openjdk version "1.8.0_66"
OpenJDK Runtime Environment (build 1.8.0_66-b17)
OpenJDK Server VM (build 25.66-b17, mixed mode)
?

jori
() автор топика
Ответ на: комментарий от jori

Только что специально проверил на Ubuntu 14.04 и

openjdk version "1.8.0_45-internal"
OpenJDK Runtime Environment (build 1.8.0_45-internal-b14)
OpenJDK 64-Bit Server VM (build 25.45-b02, mixed mode)

Полёт нормальный. Качал вот это, запускал как

$ java -jar jd-gui-1.4.0.jar

com
()

Выше правильно сказали, проблема есть только на линуксе, можно поправить только пропатченным openJdk. Но кстати с темной темой на android studio можно жить и на oracleJdk

На винде вот так выглядит http://imgur.com/NpxGlH1

bububu
()
Ответ на: комментарий от leave

Возможно. Но вообще ставил из PPA (отсюда). Скорее всего openjdk-8 там просто портирован с более новой версии.

com
()
Ответ на: комментарий от leave

Ладно, поставлю сейчас от оракла.

jori
() автор топика
Ответ на: комментарий от bububu

По мне так и на белой нормально. Разве что на вкладках шг чуть-чуть. Ну и сам шрифт сменить.

jori
() автор топика
Последнее исправление: jori (всего исправлений: 1)
Ответ на: комментарий от com

Норм. Блин, в убунте всегда шрифты красивые из коробки. Завидую.

jori
() автор топика

https://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel MyApp

хотя вроде работало просто java --laf gtk

вышеотписавшимся нубам

java-native-look реализован напрямую через иксы,вам не нужно ДЕ для запуска java приложений,gui в том числе.

учите матчасть

anonymous
()
Ответ на: комментарий от jori

А где там javafx? Я даже специально погуглил - easyTAG на Си написан.

qt4, gtk3, javafx

3 тулкита, 3 окошка на скриншоте.

aidan ★★★★
()
Ответ на: комментарий от Akamanah

Не, у тебя тоже нормас. Кстати, у нас курсоры одинаковые :)

jori
() автор топика
Ответ на: комментарий от pawnhearts

Так какую эе жабу ставить, чтобы не было шг?

Ты у меня спрашиваешь? Я бы вообще ее не ставил, но.

jori
() автор топика

накидайте, пожалуйста, скринов из макоси и винды.

http://clip2net.com/s/3rQcnjL

http://clip2net.com/s/3rQdcIG

Ничего особенного, javafx вообще гладенький.

У меня под линуксом была забавная проблема со шрифтами, причем на оракловской jdk, когда сглаживание включалось не с тем порядком субпикселей и в результате была дичайшая радуга.

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)
Ответ на: комментарий от Akamanah

Калпец там с хинтингом у жабы. Обратите внимание как «t» слева заезжает на место левых букв, а справа от «t» остаётся много места.

menangen ★★★★★
()

Почему java-gui такая боль?

бугого. а что у джавы есть нормальное консольное гуи?

darkenshvein ★★★★★
()

Какая боль, какая боль: javax.swing 7.0

anonymous
()

на джаве гуй писать очень легко, это перекрывает все другие недостатки

пока ты на своем гтк сделаешь одну форму, джабисты наколбасят уже тысячи этих форм

stevejobs ★★★★☆
()

А что тебе конкретно не нравится? Очень красивый интерфейс.

вот из OS X.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)

Лол, поставил таки oracle-{jdk|jre}, выглядит так же, но теперь jd-gui тупо зависает при открытии jar. А openjdk удалил зачем-то, эх.

jori
() автор топика
Ответ на: комментарий от jori

Может это не жаба виновата, а cairo и что там ещё шрифты рисует. Поставь уже убунту или страдай.

anonymous
()
Ответ на: комментарий от stevejobs

пока ты на своем гтк сделаешь одну форму, джабисты наколбасят уже тысячи этих форм

Которыми невозможно пользоваться без рвотного пакетика. В итоге гуйня на жабе прижилась только в кровавом тырпрайзе, где рабов к батарее пристегивают, так что им уже все равно. А так люди готовы хоть на сишке писать, лишь бы не связываться с жабой.

anonymous
()

Потому что разработчики java в основном используют вантуз и им насрать, что на других платформах что-то работает не так. Помогает пропатченный OpenJDK (хотя например в продуктах JetBrains шрифты все равно рендерятся подругому и они немного меньше, чем в других программах).

m0rph ★★★★★
()
Ответ на: комментарий от menangen

Дэ, есть такое. Хвала Императору, что мои глаза такое в жизни заметить не смогут.

Akamanah ★★★★★
()
Ответ на: комментарий от m0rph

Но ведь суть таких языков, как джава, как раз в кроссплатформенности. Вот питон выглядит везде одинаково.

jori
() автор топика
Ответ на: комментарий от jori

Для гуйни нет никакой кроссплатформенности. Тут вон даже в пределах линукса зоопарк.

anonymous
()

хз, я для swing-приложений этот вот костыль юзаю. Вполне себе работает.

demidrol ★★★★★
()
Ответ на: комментарий от demidrol

lxc? docker?

Вот за это и не любит народ линукс. Поставил линь, теперь поставь виртуалку, в которую поставь линь, чтоб запустить 1(!) программу, чтоб шрифт выглядел норм.

jori
() автор топика
Ответ на: комментарий от jori

вообще-то за это народ и любит линукс. Можно для всякого говна завести песочницу, в которой оно себя будет комфортно чувствовать.

demidrol ★★★★★
()
Ответ на: комментарий от demidrol

Ты так говоришь, будто нельзя поставить на винду/макось виртуалку, в нее еще одну ось.

jori
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.