С docs, вы используете конструктор, который просит вас 2 очка и 2-х цветов:
public GradientPaint(Point2D pt1,
Color color1,
Point2D pt2,
Color color2)
Каждая точка имеет свои собственные X
и Y
координаты, так что кажется, горизонтальный, потому что вы 'в вашем коде, чтобы нарисовать градиент от точки (0, 0)
до точки (1612, 35)
, но на самом деле это немного диагональ
В этом случае, если вы хотите полностью Tical, либо изменить 1612 на Р2 0 или изменить 0 на P1 до 1612
Он заполнит форму на основе этой конфигурации, я думаю, что вы смущены, думая, что надо рисовать от (0, 0)
к (1612, 35)
с градиентом, но эти координаты предназначены только для конфигурации градиента, а не для фактической его окраски.
Представьте, что эти коорды являются декартовой картой, что произойдет, если вы нарисуете линию от (0, 0)
до (10, 10)
? Это диагональный штрих, теперь, что произойдет, если вы нарисуете его от (0, 0)
до (10, 0)
или от (10, 10)
до (20, 10)
? Это горизонтальный ход, и что происходит, если вы рисуете линию от (0, 0)
до (0, 10)
или от (10, 10)
до (10, 20)
? Это вертикальный удар. Посмотрите, как меняется координация на каждом примере?
Для диагональных штрихов оба X
и Y
Coords изменить
Для горизонтальных штрихов просто X
изменяет
Для вертикальных штрихов только Y
изменяет
Итак, это то, что вам нужно сделать :)
Если вы не можете, в сочетании с Java Docs, понять, как изменить направление градиента, вы должны спросить себя, если вы действительно вырезают для программирования .. –
Попробуйте 0 вместо 1612 в создании второго «Точка». Я не проверял, я оставлю это вам. –
@ OleV.V. Спасибо. Он работает. –