Я пытаюсь нарисовать прямоугольник на Java. Я устанавливаю размер рамки (800,400) и изменяемый размер (false) прямоугольника x = 50, y = 50 ширина = 700 высота = 300. Почему это не в середине? Спасибо.
Переведено автоматически
Ответ 1
Без каких-либо доказательств обратного, я бы предположил, что вы переопределили paint метод чего-то вроде JFrame и рисуете непосредственно к нему.
Проблема в том, что фреймы имеют оформление (например, границу и строку заголовка), которое занимает место внутри фрейма...
Технически это правильно. Прямоугольник нарисован в центре рамки, но из-за оформления рамки кажется, что он немного возвышен...
Вместо этого вы должны рисовать в области содержимого фрейма.
Здесь прямоугольник теперь выглядит правильно центрированным. В своих тестах я установил для первого фрейма (bad) значение 800x400, я сделал предпочтительный размер панели содержимого второго фрейма 800x400, что фактически сделало размер фрейма 816x438, поскольку оформление фрейма теперь находится за пределами области рисования.