Articles by "KomputerGrafik"
Showing posts with label KomputerGrafik. Show all posts
class ContohFeometri

package main2;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class ContohGeometri extends JPanel {

    //Constructor
    public ContohGeometri() {
        this.setPreferredSize(new Dimension(400, 300));
        this.setBackground(Color.red);
    }
    //Tambahkan kode untuk menampilkan objek grafik
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
        //bintang
        GeneralPath p = new GeneralPath(GeneralPath.WIND_NON_ZERO);
        p.moveTo(- 100.0f, - 25.0f);
        p.lineTo(+ 100.0f, - 25.0f);
        p.lineTo(- 50.0f, + 100.0f);
        p.lineTo(+ 0.0f, -100.0f);
        p.lineTo(+ 50.0f, +100.0f);
        p.closePath();
       
        g2.translate(250.0f, 100.0f);
       
        g2.draw(p);
    }
}

Class main2

package main2;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class Main2 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
                    //Buat frame dengan title sesuai kebutuhan
        JFrame frame = new JFrame("Contoh objek-objek geometri");
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
       
        //tambahkan objek dari class ini (sesuai kebutan)
        ContohGeometri canvas = new ContohGeometri();
        frame.getContentPane().add(canvas);
       
        frame.pack();
        frame.setVisible(true);
   
    }
}

Hasil

Untuk membuat objek geometri yang lebih kompleks, misalnya poligon, segitiga, atau bintang, Anda bisa menggunakan kelas lain dari paket java.awt.geom, yaitu GenaralPath. GeneralPath dimulai dari titik asal, misalnya (0,0). Untuk membuat objek dengan kelas GeneralPath, panggil dengan new GeneralPath() kemudian tambahkan segmen ke bentuk yang akan dibuat dengan menggunakan method-method berikut:
- moveTo(float x, float y) – Memindahkan titik path sekarang ke titik path yang diinginkan.
- ineTo(float x, float y) – menambahkan segmen garis ke path sekarang
- quadTo(float x, float y) – menambahkan segmen kurva kuadrat ke path sekarang
- curveTo(float x, float y) – menambahkan segmen kurva kubik ke path sekarang
- closePath() – menutup path.
Bentuk Class
package bentuk;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
/**
 *
 * @author Hp
 */
public class Bentuk extends JPanel {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        //Buat frame dengan title sesuai kebutuhan
        JFrame frame = new JFrame ("Geometri Aslam Haikal");
        frame.setSize(650,350);
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e)
            {
                System.exit(0);
            }
        });
        
        //tambahkan objek dari
        
        //Panah canvas = new Panah();
        //Bintang canvas = new Bintang();
        Mobil canvas = new Mobil();
        //Kapal canvas = new Kapal();
        //cobal canvas = new cobal();
        //OperasiBoolean canvas = new OperasiBoolean();
        frame.getContentPane().add(canvas);
        frame.pack();
        //agar frame muncul di tengah layar
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}
Mobil Class
package bentuk;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
/**
 *
 * @author Axio
 */
public class Mobil extends JPanel {
    
    //Constructor
    public Mobil() {
        this.setPreferredSize (new Dimension(400, 300));
        this.setBackground(Color.WHITE);
    }
    //Tambahkan kode untuk menampilkan objek grafik
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
        
        GeneralPath gp = new GeneralPath();
        gp.moveTo(60,120);
        gp.lineTo(80,120);
        gp.quadTo(90,140,100,120);
        gp.lineTo(160,120);
        gp.quadTo(170,140,180,120);
        gp.lineTo(200,120);
        gp.curveTo(195,100,200,80,160,80);
        gp.lineTo(110,80);
        gp.lineTo(90,100);
        gp.lineTo(60,100);
        gp.lineTo(60,120);
        g2.draw(gp);
    }
}
Hasil

Java 2D Application Programming Interface (API 2D) adalah seperangkat class yang dapat digunakan untuk membuat grafik dengan  kualitas tinggi. Ini termasuk fitur seperti geometris transformasi, antialiasing, alpha compositing, pengolahan gambar, dan tata letak teks dua arah, hanya untuk beberapa nama. 

Main Class

package main3;

/**
 *
 * @author HP Envy
 */

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class Main3 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
                    //Buat frame dengan title sesuai kebutuhan
        JFrame frame = new JFrame("Contoh objek-objek geometri");
        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
        
        //tambahkan objek dari class ini (sesuai kebutan)
        ContohGeometri canvas = new ContohGeometri();
        frame.getContentPane().add(canvas);
        
        frame.pack();
        frame.setVisible(true);
     
    }
}

ContohGeometri Class

package main3;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class ContohGeometri extends JPanel {

    //Constructor
    public ContohGeometri() {
        this.setPreferredSize(new Dimension(400, 300));
        this.setBackground(Color.blue);
    }
    //Tambahkan kode untuk menampilkan objek grafik
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D)g;
        //Panah
        Polygon panah = new Polygon();
        panah.addPoint(50, 100);
        panah.addPoint(100, 100);
        panah.addPoint(100, 75);
        panah.addPoint(150, 125);
        panah.addPoint(100, 175);
        panah.addPoint(100, 150);
        panah.addPoint(50, 150);
        g2.draw(panah);
    }
}

Hasil 


GrafikCanvas

posting kali ini saya akan memberikan sedikit contoh program membuat gambar 2 Dimensi dengan Java (Java 2D Graphics).Untuk membuat program ini kita dapat memanfaatkan class Canvas untuk media menggambar.Jadi komponen Canvas tersebut berbentuk kotak kosong pada layar.Di dalam Canvas tersebut kita dapat gunakan sebagai media membuat gambar 2 Dimensi.Selain Canvas kita juga membutuhkan subclass paint sebagai media gambar.

GrafikCanvas Class

package main;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class GrafikCanvas extends JPanel {
    public GrafikCanvas() {
        //menambahkan Canvas berukuran 400x200
        this.setPreferredSize(new Dimension(400,200));
        this.setBackground(Color.WHITE);
    }
    
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g;
        
        g2d.setColor(Color.blue);
        g2d.drawLine(10, 25, 400-10, 25);
        g2d.draw(new Line2D.Double(10, 160, 390, 160));
        
        g2d.setColor(Color.green);
        g2d.fillRect(10, 40, 100, 50);
        
        g2d.setStroke(new BasicStroke(3));
        g2d.setColor(Color.black);
        g2d.drawRoundRect(120, 40, 100, 100, 10, 10);
        g2d.drawRect(300, 40, 40, 50);
        
        g2d.setStroke(new BasicStroke(2));
        g2d.setColor(Color.orange);
        g2d.fillOval(240, 40, 50, 50);
        g2d.setColor(Color.gray);
        g2d.drawOval(240, 40, 50, 50);
    }
}

Main Class

package main;

import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class Main {
    
    public static void main(String[] args) {
        //TODO code applicattion logic here
        JFrame frame = new JFrame();
        frame.setTitle("Aplikasi Komputer Grafik");
        
        //agar frame dapat di-close
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
    //tambahkan canvas
    GrafikCanvas canvas = new GrafikCanvas();
    frame.getContentPane().add(canvas);
    
    //agar ukuran frame menyesuaikan canvas
    frame.pack();
    
    //agar frame muncul ditengah layar
    frame.setLocationRelativeTo(null);
    
    //agar frame dapat terlihat
    frame.setVisible(true);
    }

    
}

Hasil

Graphic User Interface (GUI)

Graphic User Interface (GUI) adalah pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang berbasiskan GUI. Tujuannya adalah menambahkan beberapa komponen yang tidak bisa dibuat dalam basis text. Komponen – komponen tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan user menggunakan program yang dibuat tersebut.

Contoh Program Sederhana Gui

LatGui
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package LatGui;

//modul-modul yang akan digunakan
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */
public class LatGui {
    
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setTitle("Aplikasi pertama - <Aslam Haikal>");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        //tambah panel
        MainPanel panel = new MainPanel();
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    } 

}

MainPanel

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package LatGui;

//modul-modul yang akan digunakan
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;

/**
 *
 * @author HP Envy
 */

/**
 * class ini mewarisi class Jpanel
 */
public class MainPanel extends JPanel {
    
    public MainPanel() {
        this.setPreferredSize(new Dimension(400, 150));
        this.setBackground(Color.PINK);
    }
    
    public void paintComponent(Graphics g) {
        //paint component dengan default method
        super.paintComponent(g);
        
        Graphics2D g2 = (Graphics2D)g;
        g2.drawRect(10, 10, 40, 50);
        g2.drawString("Komputer Grafik Latihan 1 ", 10, 70);
    }
}

Hasil