Java и шрифты

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Java и шрифты

Post by Lavr »

Shaos, что-то я тут замучался в TextField-ы моношириный шрифр выставлять... :-?

Прочитал в Инте всё что смог...
И так выставляю:

Code: Select all

 Font TextFont = new Font("Courier New", Font.PLAIN, 12);
 text2.setFont(TextFont); 
и так:

Code: Select all

text2.setFont(new Font("Monospaced", Font.BOLD, 15)); 
Шрифт явно меняется, но моношириным не становится... :o

Хотя фактически повторяю пример:
https://way2java.com/awt-components/jav ... roperties/

В чем может быть проблема?
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный конвертер на Java

Post by Shaos »

По идее оно из системы должно браться - джава свои фонты вроде не тащит
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный конвертер на Java

Post by Lavr »

Shaos wrote:По идее оно из системы должно браться
А поточнее "из системы" это как?
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный конвертер на Java

Post by Shaos »

Lavr wrote:
Shaos wrote:По идее оно из системы должно браться
А поточнее "из системы" это как?
из винды :)
ставь фонт какой есть в винде
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный конвертер на Java

Post by Lavr »

Shaos wrote:ставь фонт какой есть в винде
Так именно так и делаю! :o
Font TextFont = new Font("Courier New", Font.PLAIN, 12);
text2.setFont(TextFont);
Courier и Courier New самые нативные виндовские моноширинные шрифты.
couriermono.gif
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный конвертер на Java

Post by Shaos »

Попробуй Courier без New как тут: http://www.java2s.com/Tutorial/Java/0261__2D-Graphics/Usefontsinpaint.htm
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный конвертер на Java

Post by Lavr »

Смотри, какая фигня происходит: если рисуешь на канвасе, то шрифты и Courier и Courier New
там отлично печатаются.

А вот если меняешь фонт в TextField, то тут начинается какая-то заморочка...
Моноширинный шрифт не выставляется, хотя и Bold, Plain, и размер применяются.
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный конвертер на Java

Post by Shaos »

а ну в текстфилде они может и не приложаться - джава вроде системные контролы юзает в винде
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный конвертер на Java

Post by Lavr »

Shaos wrote:джава вроде системные контролы юзает в винде
В общем ситуация дурацкая какая-то...
Джава правильно выставляет в свои TextField-ы те шрифты, что ей сказали:
NonMonospace1.gif
в данном случае: tf3.setFont(new Font("Courier New", Font.BOLD, 14));
И правильно считывает установленные шрифты.

А вот кто рисует для Джавы эти окна - JRE, или кто там еще, на эти шрифты плевать
хотел процентов так на 60... "оно" их не отрисовывает правильно.

Просмотрел другие Джава-приложения, где поиском находится Font("Courier"...
нигде он потом правильно не отображается.
Обидно вот так вот потратить день на полное гавно... :osad:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный конвертер на Java

Post by Lavr »

Lavr wrote:А вот кто рисует для Джавы эти окна - JRE, или кто там еще, на эти шрифты плевать
хотел процентов так на 60... "оно" их не отрисовывает правильно.
А это всё потому, оказывается, что у гнусной Джабы всё не так просто со шрифтами, как кажется.

Physical and Logical Fonts; Font Configuration Files; Adding Fonts to the Java Runtime

Не могу сказать, что я это всё прочитал и прозрел... :o
Но выставить моноширинный шрифт в ТехтФилд я Джаву всё-таки заставил!
FontMonospace.gif
И как ни странно, это тот самый Курьер Нью, хотя Джава выполняет подмены
шрифтов из каких-то своих "высших кроссплатформенных" соображений... :-?
Если я этому шрифту скажу, что он - Болд, он тут же перестанет быть не
только моноширинным, но и Курьером Нью - тоже... :roll:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Троичный конвертер на Java

Post by Shaos »

Это жаба, которой давно надо бы сдохнуть ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Lavr
Supreme God
Posts: 16689
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Троичный конвертер на Java

Post by Lavr »

Но когда начинаешь на полудохлой Джабе писать, то есть в ней и некоторые приятные вещи.
Я сначала хотел написать конвертор с нуля как .ехе-файл на каком-нибуть язычишке высокого
уровня.
Но, взглянув в твой код, увидел, что труп Джабы многое упростит - преобразование числа по
произвольному основанию
.

Как это и бывает обычно - "прикупил шило за мыло", хотел сэкономить время и развлечься с
GUI-обликом приложения Джабы, а в итоге потерял день на шрифты Джаббы.

Ну да ладно, по пути много интересного узнал - в частности, почему у меня некоторы приложения
Джабы не запускались на компе автономно.
Тоже шаманство нафиг: оказывается последние символы в Манифесте Джабы должны быть:
0A, 0D, 0A, 0D - иначе Джаба с ошибкой читает последнюю строку Манифеста, а в ней как
раз указан Мейн Класс, и она его не находит. :o

Shaos, спасибо за помощь, отчекрыжь нашу беседу, пожалуй в Software, начиная с этого поста:
viewtopic.php?p=141431#p141431
Под названием Java и шрифты, чтобы не мешать здесь Троичному Конвертору, и чтобы
больше никто не спотыкался на шрифтах Джабы.
iLavr
User avatar
Shaos
Admin
Posts: 24088
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Java и шрифты

Post by Shaos »

отрезал
Я тут за главного - если что шлите мыло на me собака shaos точка net