Я вложил в подкласс java.awt.Frame
и переопределил метод paint()
, так как я хочу нарисовать все содержимое окна вручную.
Однако на графическом объекте (0,0) соответствует верхнему левому углу окна внутри украшения строки заголовка, а не первого нарисованного пикселя.
Могу ли я определить координату первого нарисованного пикселя (т.е. высоту оформления) кросс-платформенным образом, избегая использования специфичного для Mac OS X коэффициента выдумки ? Буду ли я вынужден вкладывать компонент Panel , чтобы найти действительную область рисования окна?
Здесь мой код не может центрировать синий квадрат внутри окрашиваемой области окна:
@Override
public void paint (Graphics g) {
g.setColor(Color.BLUE);
g.setPaintMode();
g.fillRect(30, 30, getWidth()-60, getHeight()-60);
}