我想知道如何在Graphics2D类中完成旋转。请参阅[1]了解我调试的代码。但调试[2]没有向我展示计算旋转的实际类。
此外,Graphics2D的来源对我没有帮助,因为它定义为抽象public abstract void rotate(double theta);
javadoc说:“这相当于调用transform(R),其中R是由以下矩阵表示的AffineTransform。”事实上,在AffineTransform中可以找到一个旋转实现,但是如果javadoc没有告诉我,我怎么知道这个用过呢?
[1] SourceCode
import java.awt.*;
import javax.swing.*;
public class Main {
public static void main(String[] args) {
JFrame f = new JFrame();
f.add(new MyPanel());
f.setVisible(true);
}
}
class MyPanel extends JPanel {
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.rotate(0.5,30,30); //brakpoint set here
g.fillRect(20, 20, 20, 20);
}
}
[2] DebugSession