import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Kanvas extends Canvas
{
private int x;
private int y;
private int dx;
private int dy;
{
x=10;
y=30;
dx=5;
dy=5;
setBackground( Color.black);
}
public void paint (Graphics g)
{
g.setColor(new Color(255,255,255,150));
g.setFont(new Font("bisa",Font.BOLD,24));
g.drawString("VINSENT WEA "+" " +"\n NPM: 03474",x,y);
g.setColor(Color.BLACK);
g.setColor (Color.black);
g.fillOval (x, y, 50, 50);
g.setColor (Color.red);
g.drawOval (x,y,50,50);
//g.setColor(Color.BLACK);
}
public void ubahX(int xx)
{
x=xx;
}
public int nilaiX()
{
return(x);
}
public void ubahY(int yy)
{
y=yy;
}
public int nilaiY()
{
return(y);
}
}
class frame extends JFrame implements ActionListener
{
private Kanvas kanvas = new Kanvas();
private JPanel paneltombol = new JPanel();
private Button tombolvrtkl=new Button("VERTIKAL");
//private Button tombolvrtkl=new Button("vrtkl");
private Button tombolmulai=new Button("HORISONTAL");
private Button tombolselesai=new Button("BERHENTI");
private Button tombolexit=new Button("KELUAR");
// private Button tombolexit=new Button("Exit");
private JLabel arah=new JLabel(">>");
private boolean mlaku=false;
private int jalan=1;
private int arahbenda=2;
frame()
{
super("ANIMASI_VINSENT");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(300,100);
setSize(300,100);
///tombolvrtkl.addActionListener(this);
tombolvrtkl.addActionListener(this);
tombolmulai.addActionListener(this);
tombolselesai.addActionListener(this);
tombolexit.addActionListener(this);
// tombolexit.addActionListener(this);
arah.setFont(new Font ("Arial Narrow",Font.BOLD,15));
arah.setHorizontalAlignment(JLabel.CENTER);
paneltombol.setLayout(new GridLayout(1,3));
//paneltombol.add(tombolvrtkl);
paneltombol.add(tombolvrtkl);
paneltombol.add(tombolmulai);
paneltombol.add(tombolselesai);
paneltombol.add(tombolexit);
// paneltombol.add(tombolexit);
getContentPane().setLayout(new BorderLayout());
getContentPane().add(kanvas,BorderLayout.CENTER);
getContentPane().add(paneltombol,BorderLayout.SOUTH);
getContentPane().add(paneltombol,BorderLayout.NORTH);
// getContentPane().add(arah,BorderLayout.NORTH);
show();
while(mlaku=true)
{
if (jalan==1)
{
if(kanvas.nilaiX()>=kanvas.getWidth()-5)
arahbenda=-1;
else if(kanvas.nilaiX()<=0)
arahbenda=1;
if (arahbenda==1)
{
kanvas.ubahX(kanvas.nilaiX()+5);
arah.setText(">>");
}
else
{
kanvas.ubahX(kanvas.nilaiX()-5);
arah.setText("<<");
}
kanvas.repaint();
try
{
Thread.sleep(50);
}
catch(Exception e)
{
}
}
else if(jalan==2)
{
if(kanvas.nilaiY()>=kanvas.getHeight()-5)
arahbenda=-1;
else if(kanvas.nilaiY()<=15)
arahbenda=1;
if(arahbenda==1)
{
kanvas.ubahY(kanvas.nilaiY()+5);
arah.setText(">>");
}
else
{
kanvas.ubahY(kanvas.nilaiY()-5);
arah.setText("<<");
}
kanvas.repaint();
try
{
Thread.sleep(110);
}
catch (Exception e)
{
}
}
}
}
public void actionPerformed(ActionEvent e)
{
Object objek= e.getSource();
if(objek==tombolmulai)
jalan=1;
mlaku=true;
if(objek==tombolvrtkl)
jalan=2;
mlaku=true;
//if(objek==tombolvrtkl)
//jalan=2;
//mlaku=true;
if (objek==tombolselesai)
jalan=0;
if(objek==tombolexit)
System.exit(0);
// if(objek==tombolexit)
// System.exit(0);
}
}
class ANIMMMASI
{
public static void main(String [] args)
{
new frame();
}
}