Vẽ ngôi sao 5 cánh trên Java applet và click tới đâu thì ngôi sao move tới đó.
Tuesday, 30. October 2007, 08:58:40
import java.applet.Applet;
import java.awt.geom.Ellipse2D;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.*;
import java.awt.geom.Line2D;
public class START extends Applet
{
private Ellipse2D.Double cir;
private Line2D.Double line1;
private Line2D.Double line2;
private Line2D.Double line3;
private Line2D.Double line4;
private Line2D.Double line5;
private double r;
public START()
{
JPanel p1 = new JPanel();
JLabel l1 = new JLabel("Value");
JButton b1 = new JButton("Draw");
final JTextField t1 = new JTextField(5);
p1.add(l1);
p1.add(t1);
p1.add(b1);
JFrame f1 = new JFrame();
f1.setContentPane(p1);
f1.pack();
f1.show();
class CircleListener implements MouseListener
{
public void mouseClicked(MouseEvent e)
{
int x = e.getX();
int y= e.getY();
r = Integer.parseInt(t1.getText());
cir = new Ellipse2D.Double(x-r/2,y-r/2,r,r);
line1 = new Line2D.Double(x+0.951*r/2,y-0.31*r/2,x-0.951*r/2,y-0.31*r/2);
line2 = new Line2D.Double(x-0.951*r/2,y-0.31*r/2,x+0.5878*r/2,y+0.809*r/2);
line3 = new Line2D.Double(x,y-r/2,x+0.5878*r/2,y+0.809*r/2);
line4 = new Line2D.Double(x,y-r/2,x-0.5878*r/2,y+0.809*r/2);
line5 = new Line2D.Double(x-0.5878*r/2,y+0.809*r/2,x+0.951*r/2,y-0.31*r/2);
repaint();
}
public void mousePressed(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
}
CircleListener circle = new CircleListener();
this.addMouseListener(circle);
b1.addMouseListener(circle);}
public void paint(Graphics g)
{
Graphics2D g2 = (Graphics2D)g;
g.setColor (Color.black);
g2.draw(cir);
g.setColor (Color.green);
g2.draw(line1);
g.setColor (Color.red);
g2.draw(line2);
g.setColor (Color.pink);
g2.draw(line3);
g.setColor (Color.blue);
g2.draw(line4);
g.setColor (Color.black);
g2.draw(line5);
}
}







