Рисование в окне панели
Как вы знаете, для того чтобы что-нибудь
нарисовать, необходимо вначале получить
контекст отображения. Методу paint передается
контекст отображения, связанный с окном аплета.
Если в окне имеются панели, то для рисования
внутри них необходимо получить контекст
отображения окон панелей.
Проще всего это сделать с помощью метода getGraphics,
вызвав его для объекта класса Panel:
Graphics gpDraw;
gpDraw = pDraw.getGraphics();
Здесь в переменную gpDraw мы записали ссылку на
контекст отображения для панели pDraw.
Получив контекст отображения, можно приступить
к рисованию. Вот, например, как можно нарисовать
вокруг панели тонкую рамку:
Dimension dimAppWndDimension = pDraw.size();
gpDraw.drawRect(0, 0,
dimAppWndDimension.width - 1,
dimAppWndDimension.height - 1);
В этом фрагменте кода мы вначале определили
размеры панели, вызвав для нее метод size, а затем
при помощи метода drawRect, вызванного для контекста
отображения gpDraw, нарисовали рамку.
Для установки шрифта и рисования текста в окне
панели вы также должны указывать ссылку на
контекст отображения вашей панели:
gpDraw.setFont(new Font("Courier",
Font.PLAIN, 12));
gpDraw.drawString(
"Текст внутри окна панели", 10, 50);
Другой способ основан на создании собственного
класса на базе класса Panel и переопределения в
этом классе метода paint.
|