Азы веб-дизайна - советы и рекомендации для Вас

Warning: include(up.php) [function.include]: failed to open stream: No such file or directory in /home/babelyuk/public_html/web/prjava/vol8/ch6.html on line 18

Warning: include() [function.include]: Failed opening 'up.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/babelyuk/public_html/web/prjava/vol8/ch6.html on line 18

 

Рисование в окне панели

Как вы знаете, для того чтобы что-нибудь нарисовать, необходимо вначале получить контекст отображения. Методу 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.

Вернуться в начало раздела | Выбрать другой раздел

 


Warning: include(down.php) [function.include]: failed to open stream: No such file or directory in /home/babelyuk/public_html/web/prjava/vol8/ch6.html on line 113

Warning: include() [function.include]: Failed opening 'down.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/babelyuk/public_html/web/prjava/vol8/ch6.html on line 113