Graphics2D.rotate()的实现

时间:2014-07-15 17:15:15

标签: java graphics2d

我想知道如何在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 debug G2D

0 个答案:

没有答案