Kamis, 08 Desember 2016

Membuat Polyline,Lingkaran dan Gambar Boneka Menggunakan Java Netbeans

Kali ini Tugas Grafika Komputer adalah membuat Polyline,Lingkaran dan Gambar kepala Boneka Menggunakan Java Netbeans :
1. Polyline

Untuk membuat polyline pada java netbeans  . Berikut coding untuk membuat garis polyline:
package suriken;
/**
 *
 * @author igi
 */
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Suriken extends JPanel {
    @Override
    public void paint(Graphics g){
        int[] xs={25,75,125,85,125,75,25,65,25};
        int [] ys={50,90,50,100,150,110,150,100,50};
         g.drawPolyline(xs,ys,9);
    public static void main(String[] args) {
JFrame frame = new JFrame();
 frame.getContentPane().add(new Suriken());
 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 frame.setSize(200,200);
 frame.setVisible(true);
    }
}

Membuat Animasi Bergerak Menggunakan Java Netbeans

Kali ini Project UAS Grafika Komputer adalah membuat animasi bergerak menggunakan Java Netbeans.


Berikut adalah Coding untuk Membuat animasi seperti pada gmbar diatas :
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();
    }
}