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(); } }