【发布时间】:2014-12-10 05:25:13
【问题描述】:
我需要根据一定的角度创建一个斜面,上面有一个块,然后使用物理定律来查看块是否滑动。现在,我用 Path2D.Double 创建了我的 bloc,但我找不到改变 bloc 角度的方法。角度是从应用程序框架中的微调器中选择的。我创建了 2 个类,一个是框架,另一个是面板,我在其中绘制我的块。这是我的路径代码:
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.blue);
Path2D.Double bloc = new Path2D.Double();
bloc.moveTo(10,0);
bloc.lineTo(getWidth(), getHeight());
bloc.lineTo(10, getHeight());
bloc.closePath();
g2d.setColor(Color.black);
g2d.fill(bloc);
}
我知道对于一条线,我只需要这样做
g2d.rotate(Math.toRadians(theSpinner Value));
但是对于 Path2D,我不知道该怎么做。 有什么建议吗?谢谢!
【问题讨论】:
-
或者,您可以更改
10的值 ... -
我记得不久前在我的某个项目中处理过同样的问题。我认为它涉及
AffineTransform...我会回复你 -
快速谷歌搜索为我提供了这个:java-tips.org/java-se-tips/java.awt.geom/… - 它也使用
AffineTransform来旋转形状 -
你需要一些触发...
标签: java jframe jpanel paintcomponent graphics2d