import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.applet.*;public class drotate extends Applet implements ActionListener
{
Label lbl;
TextField tf;
Button btn1;
Button btn2;
double  X=(Math.PI)/4;
public void init()
{
lbl=new Label("旋转角度");
add(lbl);
tf=new TextField(20);
add(tf);
btn1=new Button("顺时针旋转");
btn2=new Button("逆时针旋转"); 
add(btn1);
add(btn2);
btn1.addActionListener(this);
btn2.addActionListener(this);
    
}
public void paint(Graphics g)
{
int x=130,y=50;
Graphics2D g2=(Graphics2D)g;
g.setColor(Color.RED);
g2.draw(new Ellipse2D.Double(30,90,x,y));
g.setColor(Color.blue);
g.drawRect(30,90,x,y);
g2.translate(150,50);
g2.rotate(X);
g2.translate(-150,-20);
    //g2.draw(new Ellipse2D.Double(-20,0,20,90));
    g.setColor(Color.red);
    g.drawRect(30,90,x,y);
}

public void actionPerformed(ActionEvent e)
{

if(e.getSource()==btn1)
{
Double X=Double.valueOf(tf.getText());
X=X%180;
X=(Math.PI)/X;
}
if(e.getSource()==btn2)
{
Double X=Double.valueOf(tf.getText());
X=360-X;
X=X%180;
X=(Math.PI)/X;

}
repaint();

   }}