2012-03-05 5 views
4

Я пытаюсь нарисовать кривые линии в Java. Простая кривая Безье с началом (X, Y), концом (X, Y) и количеством кривой будет достаточной.Java Swing: рисование кривых линий

Я не могу найти способ сделать это в Swing. Если это не в Swing, есть ли какая-то простая математика, которую я могу использовать для этого? И как бы реализовать его в Swing?

Редактировать: Я знаю, как рисовать фигуры и линии, переопределяя метод рисования (Graphics g).

ответ

9

Вы можете нарисовать кривую Безье с использованием Java 2D-объекта Path2D.Double. Просто вызовите метод curveTo(float x1, float y1, float x2, float y2, float x3, float y3) и определите координату 3.

  • первый элемент управления Безье точка
  • второй элемент управления Безье точка
  • конечная конечная точка
+2

GeneralPath - это унаследованный класс, Path2D.Double/Float является заменой. –

+1

Ваше право! Ответ отредактирован! Thx Walter – Seffel

4

Лучше бы читать и следующие основные учебники о Graphics2D, т примеры here,

  • некоторые примеры устарели, используя неправильный метод paint() вместо правильного метода живописи для Swing JComponentpaintComponent(),

  • Простая замена неправильного метода paint() на paintComponent(),

+2

Еще один ресурс (который включает в себя Безье образцы кривой): http://java.sun.com/ продукты/java-media/2D/samples/suite/ – paulsm4

+0

@ paulsm4 [hmmm very nice DJ_Lights, но я думаю, что нет: -)] (http://stackoverflow.com/a/7443911/714968) – mKorbel

+0

Почему это связано пост получил так мало голосов? IMWTK! –