Программирование на JAVA
Меню :
Стартовая
Основы программирования
Программирование на JAVA
Программирование на C++
Программирование на Pascal
Задачи по программированию
У него есть один аргумент, тип которого - абстрактный класс Graphics. В этом классе определено множество методов для отрисовки простейших графических элементов — линий, прямоугольников и многоугольников, окружностей и овалов, текста, картинок и т.д.
Наследники класса Component переопределяют метод paint и, пользуясь методами Graphics, задают алгоритм прорисовки своего внешнего вида:
public void paint(Graphics g) {
g.drawLine(0, 0, getWidth(), getHeight()); g.drawLine(0, getHeight(), getWidth(), 0);
}
В этом примере компонент будет отображаться двумя линиями, проходящими по его диагоналям:
Методы класса Graphics для отрисовки
Рассмотрим обзорно методы класса Graphics, предназначенные для Рисовки.
drawLine(x1, у1, х2, у2)
^, Этот метод отображает линию толщиной в 1 пиксел, проходящую из (*1 > у1) в (х2, у2). Именно он использовался в предыдущем примере.
Курс Программирование на jav.
drawRectfint х, int у, int width, int height)
Этот метод отображает прямоугольник, чей левый верхний угол на.\0 дится в точке (х, у), а ширина и высота равняются width и height соответ. ственно. Правая сторона пройдет по линии x+width, а нижняя - y+height
Предположим, мы хотим дополнить предыдущий пример рисованием рамки вокруг компонента (периметр). Понятно, что левый верхнцц угол находится в точке (0, 0). Если ширина компонента равна, например 100 пикселам, то координата х пробегает значения от 0 до 99. Это означает, что ширина и высота рисуемого прямоугольника должны быть уменьшены на единицу. На самом деле по той же причине в предыдущем примере такое уменьшение на единицу должно присутствовать и в остальных методах:
public void paint(Graphics g) {
g.drawLine(0, 0, getWidth()-1, getHeight()-1); g.drawLine(0, getHeight()-1, getWidth()-1, 0); g.drawRect(0, 0, getWidht()-1, getHeight()-1);
}
В результате компонент примет следующий вид:
fillRect(int х, int у, int width, int height)
Этот метод закрашивает прямоугольник. Левая и правая стороны пр* моугольника проходят по линиям х и x+width-1 соответственно, а верхняя нижняя - у и y+height-1 соответственно. Таким образом, чтобы зарисовш все пикселы компонента, необходимо передать следующие аргументы:
g.fillRect(0, 0, getWidthO, getHeight());