📄 transformpanel.java
字号:
package transform;import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.JPanel;/** * <p>Title: Transform</p> * <p>Description: 应用Java 2D API实现几何图形的变换</p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: 北京师范大学计算机系</p> * @author 张良博 * @version 1.0 */public class TransformPanel extends JPanel { private Rectangle2D square; private AffineTransform t; public TransformPanel() { square = new Rectangle2D.Double(-50, -50, 100, 100); t = new AffineTransform(); setRotate(); } public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D)g; g2.translate(getWidth() / 2, getHeight() / 2); g2.setPaint(Color.gray); g2.draw(square); g2.transform(t); g2.setPaint(Color.black); g2.draw(square); } public void setRotate(){//设置旋转变换 t.setToRotation(Math.toRadians(30)); repaint(); } public void setTranslate(){//设置平移变换 t.setToTranslation(20, 15); repaint(); } public void setScale(){//设置缩放变换 t.setToScale(2.0, 1.5); repaint(); } public void setShear(){//设置修剪变换 t.setToShear(-0.2, 0); repaint(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -