Я хочу нарисовать линию со стрелкой. Линия может иметь любой угол. Как достичь этого в SWT?Как нарисовать линию со стрелкой в SWT на холсте
Я нашел аналогичный пост, но его в AWT
. Я хочу преобразовать его в SWT
. Но стоит проблема, чтобы преобразовать следующий метод в SWT. Особенно в следующей строке:
at.concatenate(AffineTransform.getRotateInstance(angle));
Вот метод из this post
void drawArrow(Graphics g1, int x1, int y1, int x2, int y2) {
Graphics2D g = (Graphics2D) g1.create();
double dx = x2 - x1, dy = y2 - y1;
double angle = Math.atan2(dy, dx);
int len = (int) Math.sqrt(dx*dx + dy*dy);
AffineTransform at = AffineTransform.getTranslateInstance(x1, y1);
at.concatenate(AffineTransform.getRotateInstance(angle));
g.transform(at);
// Draw horizontal arrow starting in (0, 0)
g.drawLine(0, 0, len, 0);
g.fillPolygon(new int[] {len, len-ARR_SIZE, len-ARR_SIZE, len}, new int[] {0, -ARR_SIZE, ARR_SIZE, 0}, 4);
}
[Затмение GEF] (http://eclipse.org/gef/) может что-то –