Java tutorial
import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.AffineTransform; import java.awt.geom.Rectangle2D; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JPanel { public void paint(Graphics g) { g.fillRect(0, 0, 20, 20); Graphics2D g2 = (Graphics2D) g; g2.shear(5.3, 5.4); g2.rotate(30.0 * Math.PI / 180.0); g2.scale(2.0, 2.0); g.setColor(Color.red); g.fillRect(0, 0, 20, 20); } public static void main(String[] args) { JFrame frame = new JFrame(); frame.add(new Main()); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setBounds(20, 20, 500, 500); frame.setVisible(true); } }