как получить размер панели в зависимости от размера нанесенной на нее графики - PullRequest
1 голос
/ 01 августа 2010

Я пишу программу, которая рисует таблицу, рисуя несколько прямоугольников.Строка и столбец таблицы устанавливаются во время выполнения.Итак, как мне узнать размер jpanel для отображения таблицы?

Ответы [ 2 ]

1 голос
/ 02 августа 2010

То, что вы спрашиваете, может быть выполнено с использованием методов FontMetrics графического контекста, но это кажется утомительным и подверженным ошибкам.В качестве альтернативы рассмотрим примеры из учебника Как пользоваться таблицами .

Приложение: Как указано в комментарии @ camickr, статья Настраиваемый столбец таблицы является хорошим примером того, как универсальный компонент фундамента, такой как JTable, может быть функционально усовершенствован для удовлетворения растущих потребностей.Напротив, рисование нескольких прямоугольников может постепенно усложняться.

1 голос
/ 02 августа 2010

Не знаю, полностью ли я понял твой вопрос, но попробую.Если я правильно понимаю, вы хотите знать, какой размер настроить JPanel, чтобы он мог отображать вашу таблицу.

Это противоположно тому, как вы обычно делаете вещи в Swing: вместо этого компонент, который вы добавляете на панельобъявляет свои ограничения (см. getPreferredSize (), getMinimumSize () и getMaximumSize () в java.awt.COmponent ).Затем менеджер компоновки, установленный на панели, позаботится об изменении размера компонентов внутри контейнера в соответствии с этими ограничениями и текущим размером окна.

После добавления всех компонентов в экземпляр JPanel вы можететакже используйте его метод getPreferredSize (), чтобы получить «предпочтительный размер» панели с разметкой всех дочерних компонентов.(IIRC)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...