2015-07-28 5 views
-1

Мой вопрос довольно прост ... У меня есть JPanel с большим количеством JComponents внутри него, и я бы хотел, чтобы панель была в порядке, независимо от размера экрана, поэтому ее можно увидеть на разных мониторах. Я добавил полосы прокрутки, чтобы обойти эту проблему, но этого недостаточно. Прочитав несколько советов по stackoverflow.com и руководству менеджеров макетов, я обнаружил весовую функциональность GridBagLayout, и я решил решить эту проблему таким образом. Но есть кое-что, что можно обнаружить. Мои JComponents имеют размер шрифта, размер границы, hgap и vgap для некоторых jpanels, и я бы хотел, чтобы даже эти константы были разбросаны по размеру экрана. Как я могу достичь этой цели? Заранее спасибо.Как масштабировать мои JComponents в основе разрешения экрана размер в java?

+0

* "Мой вопрос достаточно прост ..." * DYM «просто, как в * "В чем смысл жизни?" *? Есть много вопросов, которые легко определить, просто спросить, но имеют ... не такие простые ответы (если они вообще имеют какой-либо ответ). Это один из таких случаев. Создание шрифтов и компонентов шкалы GUI для пользователей не является чем-то простым. См. [Этот ответ] (http://stackoverflow.com/a/21066065/418556) для начала проблемы. Он предназначен для масштабирования размеров шрифтов кнопок калькулятора до самого большого размера, который они будут поддерживать. –

ответ

0

Это дает вам размер экрана. Вы можете использовать dim.width и dim.height в качестве пропорции для всех ваших размеров элементов.

Toolkit toolkit = Toolkit.getDefaultToolkit(); 
Dimension dim = toolkit.getScreenSize(); 
myFrame.setSize(dim.width,dim.height); 

Импорт являются java.awt.Toolkit и java.awt.Dimension

+0

['Frame.setExtendedState (Frame.MAXIMIZED_BOTH)'] (http://docs.oracle.com/javase/8/docs/api/java/awt/Frame.html#setExtendedState-int-) - это проще и удобнее надежный (в том, что он отвечает за панель задач), чтобы достичь того, что делает этот код. Но тогда, делая родительский контейнер настолько большим, насколько это возможно, на самом деле не связано с проблемой, которая заставляет компоненты GUI масштабироваться до * любого размера *, который пользователь присваивает окну приложения. –