WELCOME

WELCOME SELAMAT DATANG DI BLOG SAYA..BERIKAN KOMENTAR HAL POSITIF UNTUK MELENGKAPI BLOG INI

Selasa, 19 November 2013

Eclipse Dan JDK (Java2D)

2. Basic Drawing
1.   Instalasi Software yang di butuhkan
A.   Software JDK
Ø  Link Download
Ø  Cara Instal
·         Double klik software yang sudah didownload lalu pilih yes,, maka akan muncul tampilan seperti ini :
·         Setelah proses ini selesai maka akan muncul tampilan pemberitahun seperti di bawah ini :
·         Klik next untuk melanjutkan penginstalan, setelah klik next maka akan muncul tampilan pemberitahuan selanjutnya
·         Klik next lagi untuk melanjutkan penginstalan, setelah klik next makan akan muncul proses penginstalan dan biarkan proses penginstalan berjalan hingga selesai

·         Proses penginstalan selesai dan klik close.
Ø  Konfigurasi Awal
·         Klik Star > lalu ketikan java maka akan muncul tampilan ini
·         Pilih dan klik Configurasi java dan  akan muncul jendela seperti di bawah ini

·         Itulah konfigurasi awal dari java.



B.   Software Eclipse
Ø  Link Download
Ø  Cara Instal
·         Pilih file Eclipse dan kemudian rar
 













·         Proses Rar sedang berjalan dan tunggu sampai selesai


·         Setelah prose rar selesai maka akan muncul folder yang telah diRar
·         Double klik > eclipse > dan pilih ecplipse yang icon
Ø  Konfigurasi Awal
·         Workspace
Klik OK lalu akan muncul tampilan seperti ini
·         Project
Klik File>New>projek seperti dibawah ini
Setelah klik projek maka akan tampil gambar beriku :
Dan pilih Java Project dan klik Next
Setelah klik next muncul gambar selanjutnya untuk mengisi Nama project (T3112042) kemudian finis
Setelah finis akan muncul gambar dibawah ini
Selesai
Ø  Package
Klik File>New>Package seperti dibawah ini
Setelah klik Package maka akan tampil gambar beriku :
Isi nama Package (Rustam) lalu klik finish
Setelah klik finish akan muncul tampilan berikut
Selesai
Ø  Class
Untuk pembuat class kita bias gunakan dengan cara diatas,tapi saya akan menunjukan dengan cara cepat yaitu dengan mengklik icon            .
Setelah mengklik icon tersebut makan akan muncul tampilan dimana kita harus mengisi nama clas (Detulung) dan mencentang public static void main(string[]args) lalu tekan finish
Setelah klik finish maka akan muncul gambar dimana kita akan mengisi coding/skrip.
Selesai
Ø  Run Program
Untuk menjalankan program terlebih dahulu kita harus mengisi class(Detulung) seperti dibawah ini
Setelah mengisi codingnya maka tinggal kita jalankan dengan cara seperti dibawah ini :
Dan akan muncul tampilan seperti ini :
Selesai.

2.   Basic drawing
Ø Points / Point
Grafik paling sederhana adalah suatu titik primitive yang  merupakan suatu titik tunggal pada jendela. Ada suatu Kelas Titik untuk mewakili suatu titik di ruang,tetapi tidak ada metoda untuk menggambar/menarik suatu titik. Kita menggunakan metoda drawLine,dimana jika kita menyediakan satu hal yang dua kali. Contoh suatu titik sederhana :
Points.java
package com.zetcode;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Insets;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

class Surface extends JPanel {

    private void doDrawing(Graphics g) {

        Graphics2D g2d = (Graphics2D) g;

        g2d.setColor(Color.blue);

        Dimension size = getSize();
        Insets insets = getInsets();

        int w = size.width - insets.left - insets.right;
        int h = size.height - insets.top - insets.bottom;

        Random r = new Random();

        for (int i = 0; i < 1000; i++) {

            int x = Math.abs(r.nextInt()) % w;
            int y = Math.abs(r.nextInt()) % h;
            g2d.drawLine(x, y, x, y);
        }
    }

    @Override
    public void paintComponent(Graphics g) {

        super.paintComponent(g);
        doDrawing(g);
    }
}

public class Points extends JFrame {

    public Points() {

        initUI();
    }

    private void initUI() {
       
        setTitle("Points");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        add(new Surface());

        setSize(350, 250);
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {

                Points ps = new Points();
                ps.setVisible(true);
            }
        });
    }
}

Satu hal yang sukar untuk mengamati. Oleh karena itu, kita akan secara acak menggambar/menarik 1000 poin-poin pada atas permukaan panel.

g2d.setColor(Color.blue);

Kita akan mengecat poin-poin di dalam warna biru.
Dimension size = getSize();
Insets insets = getInsets();

Ukuran jendela meliputi perbatasan dan suatu titik lebar. Kita tidak mengecat di sana.

int w =  size.width - insets.left - insets.right;
int h =  size.height - insets.top - insets.bottom;

Di sini kita mengkalkulasi area di mana kita akan secara efektif mengecat poin-poin tersebut.

Random r = new Random();
int x = Math.abs(r.nextInt()) % w;
int y = Math.abs(r.nextInt()) % h;

Kita mendapatkan suatu nomor/jumlah acak di dalam cakupan ukuran area, yang kita hitung di atas.

g2d.drawLine(x, y, x, y);
Di sini kita menggambar/menarik titik itu. Ketika kita telah menyebutkan, kita menggunakan metoda drawLine. Kita menetapkan titik yang sama dua kali.

Gambar point-point
Contohnya Seperti yang saya buat :










Ø  Lines / Bentuk
Satu baris adalah suatu grafik sederhana primitif. Satu baris adalah suatu yang obyek menghubungkan dua poin-poin. Bentuk digambar/ditarik dengan metode drawLine.
Lines2.java
package com.zetcode;

import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;


class Surface extends JPanel {
   
    private void doDrawing(Graphics g) {

        Graphics2D g2d = (Graphics2D) g;

        g2d.drawLine(30, 30, 200, 30);
        g2d.drawLine(200, 30, 30, 200);
        g2d.drawLine(30, 200, 200, 200);
        g2d.drawLine(200, 200, 30, 30);

   }

    @Override
    public void paintComponent(Graphics g) {
       
        super.paintComponent(g);
        doDrawing(g);
    }   
}

public class Lines2 extends JFrame {

    public Lines2() {

        initUI();
    }
   
    private void initUI() {
       
        setTitle("Lines");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
        add(new Surface());
       
        setSize(350, 250);
        setLocationRelativeTo(null);       
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {
               
                Lines2 lines = new Lines2();
                lines.setVisible(true);
            }
        });
    }
}

Kita menggambar/menarik suatu obyek sederhana dengan empat bentuk.

g2d.drawLine(30, 30, 200, 30);

Suatu garis lurus digambar/ditarik. Parameter metoda adalah x, y mengkoordinir dua poin-poin.

Gambar: Bentuk
Contoh yang saya buat :
Ø  BasicStroke
Basicstroke Kelas menggambarkan suatu dasar satuan menyumbangkan atribut untuk garis besar grafik primitif. Ini menyumbangkan atribut meliputi lebar, kopiah, gabungan garis, topi tinggi uskup membatasi dan menghancurkan atribut.
BasicStrokes.java
package com.zetcode;

import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

class Surface extends JPanel {

    private void doDrawing(Graphics g) {

        Graphics2D g2d = (Graphics2D) g;

        float[] dash1 = {2f, 0f, 2f};
        float[] dash2 = {1f, 1f, 1f};
        float[] dash3 = {4f, 0f, 2f};
        float[] dash4 = {4f, 4f, 1f};

        g2d.drawLine(20, 40, 250, 40);

        BasicStroke bs1 = new BasicStroke(1, BasicStroke.CAP_BUTT,
                BasicStroke.JOIN_ROUND, 1.0f, dash1, 2f);

        BasicStroke bs2 = new BasicStroke(1, BasicStroke.CAP_BUTT,
                BasicStroke.JOIN_ROUND, 1.0f, dash2, 2f);

        BasicStroke bs3 = new BasicStroke(1, BasicStroke.CAP_BUTT,
                BasicStroke.JOIN_ROUND, 1.0f, dash3, 2f);

        BasicStroke bs4 = new BasicStroke(1, BasicStroke.CAP_BUTT,
                BasicStroke.JOIN_ROUND, 1.0f, dash4, 2f);

        g2d.setStroke(bs1);
        g2d.drawLine(20, 80, 250, 80);

        g2d.setStroke(bs2);
        g2d.drawLine(20, 120, 250, 120);

        g2d.setStroke(bs3);
        g2d.drawLine(20, 160, 250, 160);

        g2d.setStroke(bs4);
        g2d.drawLine(20, 200, 250, 200);
    }

    @Override
    public void paintComponent(Graphics g) {

        super.paintComponent(g);
        doDrawing(g);
    }
}

public class BasicStrokes extends JFrame {

    public BasicStrokes() {

        initUI();
    }
   
    private void initUI() {
       
        setTitle("Basic strokes");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        add(new Surface());

        setSize(280, 270);
        setLocationRelativeTo(null);       
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {

                BasicStrokes bs = new BasicStrokes();
                bs.setVisible(true);
            }
        });
    }
}
Di dalam contoh ini, kita menunjukkan berbagai jenis menghancurkan. Suatu menghancurkan atribut adalah suatu pola teladan, yang mana adalah diciptakan dengan  pencampuran bagian transparan dan buram
float[] dash1 = { 2f, 0f, 2f };
float[] dash2 = { 1f, 1f, 1f };
float[] dash3 = { 4f, 0f, 2f };
float[] dash4 = { 4f, 4f, 1f };

Di sini kita menggambarkan empat berbeda menghancurkan pola teladan.

BasicStroke bs1 = new BasicStroke(1, BasicStroke.CAP_BUTT, 
    BasicStroke.JOIN_ROUND, 1.0f, dash1, 2f );

Garis ini membangun suatu Basicstroke Obyek

g2d.setStroke(bs1);

Kita menggunakan metode setStroke() untuk menerapkan Basicstroke kepada konteks grafik yang sekarang.
g2d.drawLine(20, 80, 250, 80);

Akhirnya, kita menentukan batas.

Gambar : Basic Strokes
Contoh yang saya buat :
Ø  Caps
Kopiah dekorasi diberlakukan bagi akhir dari  tidak tertutup subpaths dan menghancurkan segmen. Ada tiga kopiah akhir berbeda di dalam Java2D. CAP_BUTT, CAP_ROUND dan CAP_SQUARE.
Caps.java
package com.zetcode;

import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

class Surface extends JPanel {

    private void doDrawing(Graphics g) {

        Graphics2D g2d = (Graphics2D) g;

        RenderingHints rh = new RenderingHints(
                RenderingHints.KEY_ANTIALIASING,
                RenderingHints.VALUE_ANTIALIAS_ON);

        rh.put(RenderingHints.KEY_RENDERING,
                RenderingHints.VALUE_RENDER_QUALITY);

        g2d.setRenderingHints(rh);

        BasicStroke bs1 = new BasicStroke(8, BasicStroke.CAP_BUTT,
                BasicStroke.JOIN_BEVEL);
        g2d.setStroke(bs1);
        g2d.drawLine(20, 30, 250, 30);

        BasicStroke bs2 = new BasicStroke(8, BasicStroke.CAP_ROUND,
                BasicStroke.JOIN_BEVEL);
        g2d.setStroke(bs2);
        g2d.drawLine(20, 80, 250, 80);

        BasicStroke bs3 = new BasicStroke(8, BasicStroke.CAP_SQUARE,
                BasicStroke.JOIN_BEVEL);
        g2d.setStroke(bs3);
        g2d.drawLine(20, 130, 250, 130);

        BasicStroke bs4 = new BasicStroke();
        g2d.setStroke(bs4);

        g2d.drawLine(20, 20, 20, 140);
        g2d.drawLine(250, 20, 250, 140);
        g2d.drawLine(254, 20, 254, 140);
    }

    @Override
    public void paintComponent(Graphics g) {

        super.paintComponent(g);
        doDrawing(g);
    }
}

public class Caps extends JFrame {

    public Caps() {

        initUI();
    }
   
    private void initUI() {
       
        setTitle("Caps");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        add(new Surface());

        setSize(280, 270);
        setLocationRelativeTo(null);        
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {

                Caps caps = new Caps();
                caps.setVisible(true);
            }
        });
    }
}
Di dalam contoh kita menunjukkan semua tiga jenis kopiah akhir.

BasicStroke bs1 = new BasicStroke(8, BasicStroke.CAP_BUTT,
        BasicStroke.JOIN_BEVEL);
g2d.setStroke(bs1);

Suatu dasar memukul dengan suatu kopiah tong/puntung/penumpu diciptakan dan applied.s.

g2d.drawLine(20, 20, 20, 140);
g2d.drawLine(250, 20, 250, 140);
g2d.drawLine(254, 20, 254, 140);

Kita menggambar/menarik tiga garis tegak untuk menjelaskan perbedaan di antara kopiah akhir. Bentuk dengan CAP_ROUND dan CAP_SQUARE adalah lebih besar dari baris dengan CAP_BUTT. Yang persisnya berapa banyak lebih besar tergantung dengan segera ukuran. Di dalam kasus satu baris adalah 8px tebal. Bentuk adalah lebih besar oleh 8px, 4px pada sisi kiri dan 4px pada sisi kanan. Itu telah jelas dari gambarnya.
Gambar : Caps
Contoh yang saya buat :
Ø  Joins
Gabungan Garis dekorasi diterapkan di persimpangan dua segmen alur dan di persimpangan endpoints suatu subpath. Ada tiga dekorasi adalah. JOIN_BEVEL, JOIN_MITER dan JOIN_ROUND.
Joins.java
package com.zetcode;

import java.awt.BasicStroke;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

class Surface extends JPanel {

    private void doDrawing(Graphics g) {

        Graphics2D g2d = (Graphics2D) g;

        BasicStroke bs1 = new BasicStroke(8, BasicStroke.CAP_ROUND,
                BasicStroke.JOIN_BEVEL);
        g2d.setStroke(bs1);
        g2d.drawRect(15, 15, 80, 50);

        BasicStroke bs2 = new BasicStroke(8, BasicStroke.CAP_ROUND,
                BasicStroke.JOIN_MITER);
        g2d.setStroke(bs2);
        g2d.drawRect(125, 15, 80, 50);

        BasicStroke bs3 = new BasicStroke(8, BasicStroke.CAP_ROUND,
                BasicStroke.JOIN_ROUND);
        g2d.setStroke(bs3);
        g2d.drawRect(235, 15, 80, 50);
    }

    @Override
    public void paintComponent(Graphics g) {

        super.paintComponent(g);
        doDrawing(g);
    }
}

public class Joins extends JFrame {

    public Joins() {

        initUI();
    }
   
    private void initUI() {
       
        setTitle("Joins");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        add(new Surface());

        setSize(340, 110);
        setLocationRelativeTo(null);       
    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(new Runnable() {

            @Override
            public void run() {

                Joins js = new Joins();
                js.setVisible(true);
            }
        });
    }
}
Contoh Kode ini menunjukkan tiga gabungan garis berbeda dalam perang.

BasicStroke bs1 = new BasicStroke(8, BasicStroke.CAP_ROUND,
        BasicStroke.JOIN_BEVEL);
g2d.setStroke(bs1);
g2d.drawRect(15, 15, 80, 50);

Di sini kita menciptakan suatu segiempat panjang dengan suatu JOIN_BEVEL.

Gambar : Joins
Dan contoh yang saya buat :

Di sebagian Java2D Pengajaran tambahan, kita lakukan beberapa dasar menggambar yang menarik.



TERIMA KASIH