Непрерывная пунктирная линия между несколькими точками в Java (качели) - PullRequest
2 голосов
/ 22 февраля 2012

Я делаю графический интерфейс, который включает в себя график, и я выяснил, как создать BasicStroke, который создает пунктирную линию и применить его к объекту Graphics2D, поэтому, когда я вызываю drawLine (), линия штриховая. Что я не могу понять, так это простой способ сделать пунктирную линию непрерывной на нескольких отрезках. То есть у меня есть массив значений, которые я использую в качестве местоположения точек на одной и той же линии графика, но когда я рисую каждый сегмент линии отдельно и применяю штрих штриховой линии, шаблон штрихов начинается снова для каждого сегмента линии. Некоторые из моих отрезков имеют разную длину, поэтому пунктирный рисунок выглядит запутанным (а в местах, где отрезки линии короче, чем рисунок, он выглядит как непрерывная, не пунктирная линия).

Есть ли какое-нибудь простое (или не очень простое) исправление для этого, чтобы получить непрерывный пунктирный вид на разных отрезках линии? Дайте мне знать, если какая-то часть моего объяснения неясна.

1 Ответ

5 голосов
/ 22 февраля 2012

Вы можете использовать Path2D.Float (или Path2D.Double). Они имеют функции .moveTo и .lineTo для соединения ваших сегментов. Как только это будет создано, нарисуйте его, используя Graphics2D.draw (Shape s).

...