package
uas;
@author igi
import
java.awt.Color;
import
java.awt.Font;
import
java.awt.Graphics;
import
java.awt.Graphics2D;
import
java.awt.Rectangle;
import
java.awt.RenderingHints;
import
java.awt.event.ActionEvent;
import
java.awt.event.ActionListener;
import
javax.swing.JFrame;
import
javax.swing.JPanel;
import
javax.swing.Timer;
public
class Uas extends JPanel implements ActionListener {
private double angle = 0;
Timer timer;
Rectangle.Float r = new Rectangle.Float(20,
20, 50, 50);
public Uas() {
timer = new Timer(20, this);//jalankan
timer per 20 milisecond
timer.start();
}
@Override
public void paint(Graphics g) {
int w = getWidth();
int h = getHeight();
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g2d.setColor(Color.WHITE);
Font font = new Font("Vivaldi",
Font.BOLD, 50);
g2d.setFont(font);
g2d.drawString("Sebuah Animasi :
", 10, 50);
g2d.drawString("Karya ", 10,
150);
g2d.drawString("IGI KELEN",
10, 250);
g2d.setColor(Color.WHITE);
g2d.drawString("Animation
Grafika ", 900, 620);
g2d.drawString(" INTEGER12", 980, 660);
g2d.setColor(Color.RED);
g2d.translate(w / 2, h / 2);
g2d.rotate(angle);//rotasikan sudut
sebesar nilai angle
g2d.fill(r);
g2d.setColor(Color.black);
g2d.fillRect(50, 50, 50,50);
g2d.setColor(Color.yellow);
g2d.fillRect(80, 80, 50, 50);
g2d.setColor(Color.green);
g2d.fillRect(110, 110, 50, 50);
g2d.setColor(Color.cyan);
g2d.fillRect(140, 140, 50, 50);
g2d.setColor(Color.MAGENTA);
g2d.fillRect(170, 170, 50, 50);
g2d.setColor(Color.ORANGE);
g2d.fillRect(200, 200, 50, 50);
g2d.setColor(Color.BLUE);
g2d.fillRect(230, 230, 40, 40);
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
JFrame frame = new
JFrame("Transformasi >> Rotasi....");
frame.add(new Uas());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setBackground(Color.DARK_GRAY);
}
public void actionPerformed(ActionEvent e)
{
angle = angle + 0.01;
repaint();
}
}