Я создал сетку кнопок в JavaFX.
Когда я изменяю размер окна с сеткой внутри, кнопки также изменяются внутри сетки.
Проблема в том, что текст на эти кнопки не изменяются вместе с ними: они все время остаются одного размера, поэтому, когда кнопки становятся большими, на кнопке остается много пустого места, а затем крошечный текст посередине, что выглядит ужасно.< br/> Я бы предпочел, чтобы размер текста автоматически изменялся вместе с этими кнопками, чтобы он соответствовал пустому пространству, чтобы, когда весь пользовательский интерфейс становится больше, текст на кнопках также становился больше.
Как я могу это сделать? это?
Я попытался установить -fx-font-size
в таблице стилей CSS на процентные значения, но, похоже, это не работает так же, как для веб-сайтов: текст масштабируется не в процентах от своего контейнера, а в процентах от некоторого предопределенного размера текста. .
Изменить
Это не дубликат! Прекратите отмечать каждый вопрос как дубликат! Если бы на него ответили, я бы вообще не спрашивал!
Из того, что я вижу, первая из этих тем была о ситуации, когда кто-то хотел установить размер/стиль текста для новых кнопок с учетом текущего размера их контейнера и т. д. Это это не то, что мне нужно, потому что я хочу, чтобы кнопки, которые были уже созданы, также автоматически изменяли размер своего текста, когда эти кнопки каким-то образом изменяют размер внутри своего контейнера.
Другой поток касался масштабирования текста вместе с корневым контейнером/окном с заданным размером шрифта. Это также отличается от того, что мне нужно, потому что я хочу, чтобы текст масштабировался не с размером окна, а с размерами самих кнопок. И он должен быть определенным образом масштабирован: чтобы всегда соответствовал размеру кнопки. Вы знаете: текст остается прежним, но растягивается так, что всегда помещается внутри кнопки (с небольшим отступом, а не огромной пустой областью вокруг текста).
Это размер кнопки, который должен определять размер текста на ней, а не окна или контейнера или чего-то еще, и это должно быть сделано автоматически самой кнопкой (либо встроенным один или подкласс), а не вручную с помощью охватывающего контейнера, перебирающего все эти кнопки и обновляющего размеры их текста (что было бы глупым способом сделать это).
Button
(или альтернативный скин), если предпочитаете другие подходы к проектированию. - person James_D   schedule 05.05.2016