Graphics2D dan Geometry

dokumen-dokumen yang mirip
Grafis & Applet. Viska Mutiawani, M.Sc

4.1 WARNA Ketika objek geometri dibangun, objek tersebut dapat digambar dengan method fill(shape) atau

BAB I PENDAHULUAN. Listing 1.1 menunjukkan program GUI Java sederhana menggunakan AWT. import java.awt.*; import java.awt.event.*;

Tutorial A Menggambar Bendera Merah Putih Pada Frame

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

BasicStroke(float width, int cap, int join, float miterlimit)

Modul 2. [access specifier] [tipe data] [nama variabel];

BAB 2 DASAR-DASAR GRAFIK 2D

GUI (Grapichal User Interface)

Score: 56.0 Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

Modul Praktikum 8 Pemograman Berorientasi Objek

Aplikasi Grafik Menggunakan Netbeans

1. Latar Belakang 2. Tujuan

Dasar Perancangan Graphical User Interface

Membuat Menu Login Sederhana [Full Coding]

PERTEMUAN IV MEMBUAT JUDUL (TITLE)

MODUL 3. Classes and Objects (part I)

Modul Praktikum 9 BAB IX LAYOUTING. Departemen Teknologi Informasi Telkom Applied Science School H a l

PAKET (PACKAGE) 20 Januari 2012

LOW LEVEL USER INTERFACE ( Tugas Pratikum 4 )

MODUL PRAKTIKUM BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

Modul 8: awt. Setelah mengikuti mata kuliah ini mahasiswa dapat membuat program sederhana dalam lingkungan window. Modul 8 - awt 1

Slide 6: Writing Classes

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

LAB02 : KODING PROGRAM

MODUL PRAKTIKUM KE 3 A.

Score: Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

membuat sebuah game yang menggunakan grafik vektor dan grafik bitmap. Penggunaannya seperti pemindahan sebuah object, memper-besar atau

Editing Video Menggunakan Adobe Premiere Pro

PEMROGRAMAN BERORIENTASI OBJEK

Membuat Frame, Label, TextField dan Button di Java [Full Coding]

Materi : GUI AWT & SWING.

Membuat Kalkulator dengan Java

Pemrograman Java. Pertemuan VIII By: Augury

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Chapter 10 Polimorphism

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Explorasi Java 2D Rendering Engine

BAB II DASAR TEORI 2.1. Dasar Pemrograman GTGE

A. TUJUAN PEMBELAJARAN

Pemrograman dengan Java

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

dimensi dimana terdapat banyak method yang sudah disediakan oleh Java seperti ketika menangani pengujian tabrakan, menampilkan bound berupa

Bahasa Pemrograman :: Polimorfism and Abstraction

BAB IX. USER INTERFACE

Dwiny Meidelfi, M.Cs

MEMBUAT JAM ANALOG. Wiranti Sri Utami. Abstrak. Pendahuluan.

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

KASUS INHERITANCE. (Window, Multithreading dan Applet)

A. TUJUAN PEMBELAJARAN

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Program Penghitungan II Dengan Java

Materi 3 Pemrograman Visual

GUI & Event Handling. Viska Mutiawani, M.Sc

LAPORAN TUGAS AKHIR APLIKASI KALKULATOR BERBASIS JAVA

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

BINA NUSANTARA UNIVERSITY NATA LASE

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

subclass class manapun private default protected public package yang sama

Konsep Dasar Pemrograman Berorientasi Objek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

PERCOBAAN 6 EXCEPTION

PENGENALAN LINGKUNGAN KERJA JAVA

Materi 5 Pemrograman Visual

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

PEMROGRAMAN II. Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io. By : Sri Rezeki Candra Nursari

Membuat dan Menggunakan Class

Anonymous Inner Class

GUI Event Handling. minggu 13. Wednesday, 16 May 12

2. Pilih instruksi yang dapat digunakan dalam method actionperformed untuk membedakan antara tombol buttonone dan buttontwo.

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Didalam menampilkan peta yang sudah kita buat, kita akan menggunakan Slick2D sebagai sebuah frameworknya.

Materi 1 Pemrograman Visual

Modul 08. User Interface 01

Percobaan 6 Exception

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Macromedia Flash Open a Recent Item : membuka file berekstensi.fla yang terakhir anda buka di flash.

Praktikum KPLBO Class dan Object I

AWT (ABSTRACT WINDOWS TOOLKITS)

Bab 6. Layer Manager

Pemograman Swing. Netbeans:

Creating Graphical User Interfaces [1] with Java By: De Rosal Ignatius Moses Setiadi

PEMROGRAMAN BERORIENTASI OBJEK

A. TUJUAN PEMBELAJARAN

MODUL 7 - EXCEPTION HANDLING

Inheritance dan Kata Kunci static

Pengenalan OOP. Object-Oriented programming (OOP) Menitikberatkan pada konsep object sebagai elemen dasar dari program.

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

PRAKTIKUM 6 EXCEPTION

Pemrograman Berorientasi Objek INHERITANCE

Modul Praktikum 7 Pemograman Berorientasi Objek

BAB VII. CLASS DAN OBJECT

Pemrograman Lanjut. Class : Deeper Look 2

KONSEP OOP: PEWARISAN / INHERITANCE

Transkripsi:

Graphics2D dan Geometry I Putu Susila putu.sgr *AT* gmail.com October 4, 2011 1 Graphics2D Class Graphics2D merupakan rendering engine untuk grafik 2 dimensi pada Java. Class ini merupakan turunan dari class java.awt.graphics. Kedua class ini adalah class abstract sehingga tidak bisa dibuat objek atau instancenya secara langsung. Objek Graphics2D dapat diperoleh dengan meng-override method void paintcomponent(graphics g) dari JComponent (misalnya JPanel, dsb). Selain itu, reference ke objek Graphics2D juga bisa diperoleh melalui method Graphics getgraphics() dari class Component. Objek yang didapatkan melalui kedua method diatas bertipe Graphics, akan tetapi objek sebenarnya adalah instance dari Graphics2D. Berikut adalah beberapa method yang ada pada class Graphics. Listing 1: Beberapa methods dalam class Graphics // Setting warna yang akan digunakan untuk context ini void setcolor(color c) // Setting Font yang digunakan untuk menampilkan text void setfont(font f) // Setting mode paint dari Graphics objek. // Akan dilakukan operasi XOR antara warna yang lama dengan warna baru void setxormode(color c) // Setting mode paint dari Graphics objek. // Semua setting sebelumnya akan di-overwrite dengan setting baru void setpaintmode() // Lakukan translasi terhadap koordinat asal ke koordinat (x, y) baru void translate(int x, int y) // Gambar garis dari titik (x1, y1) ke titik (x2, y2) void drawline(int x1, int y1, int x2, int y2) // Gambar kotak dengan posisi sudut kiri atas di (x1, y1) dan // Lebar = width, serta tinggi = height 1

void drawrect(int x1, int y1, int width, int height) // Gambar elipse dalam kotak dengan posisi sudut kiri atas di (x1, y1) // dan Lebar = width, serta tinggi = height void drawoval(int x1, int y1, int width, int height) // Gambar busur pada rectangle (x1, y1) dengan lebar = width // dan tinggi = height. start: sudut awal (dalam derajat), // dimana posisi 0 derajat pada arah jam 3. arc: derajat void drawarc(int x1, int y1, int width, int height, int start, int arc) // Gambar rectangle dengan sudut bulat void drawroundrect(int x1, int y1, int width, int height, int arcw, int arch) // Gambar poligon yang terdiri dari beberapa titik x dan y void drawpolygon(int[] xpoints, int[] ypoints, int npoints) // Method-method dibawah mirip dengan method diatas, dimana // pada method dibawah, area didalam objek yang digambar, // akan diberi warna (di-fill) void fillrect(int x1, int y1, int width, int height) void filloval(int x1, int y1, int width, int height) void fillarc(int x1, int y1, int width, int height, int start, int arc) void fillroundrect(int x1, int y1, int width, int height, int arcw, int arch) void fillpolygon(int[] xpoints, int[] ypoints, int npoints) // Tampilkan string/text dengan posisi baseline pada titik (x, y) // dengan menggunakan font dan warna saat ini. void drawstring(string str, int x, int y) Method-method diatas tidak secara jelas memisahkan antara model (bagian yang mendefinisikan objek) dan render (bagian yang menampilkan objek). Contohnya method drawoval sekaligus berfungsi mendefinisikan ellipse dan menggambarkan ellipse. Pada class Graphics2D dilakukan pemisahan yang jelas antara model dan render. Berikut adalah beberapa method pada class Graphics2D. Listing 2: Beberapa methods dalam class Graphics2D // Method untuk me-render objek (Shape: garis, elipse, kotak, dsb) void draw(shape s) // Method untuk me-render dan memberikan warna pada objek Shape void fill(shape s) // Method untuk mengeset transformasi (translasi, rotasi, scaling) void settransform(affinetransform Tx) void transform(affinetransform Tx) // Method untuk mengeset Paint (Warna, Gradient Fill, dsb) void setpaint(paint p) // Method untuk mengeset stroke (garis, korner, titik-titik dsb) void setstroke(stroke s) // Set clip untuk objek saat ini void clip(shape s) // Set Composite 2

void setcomposite(composite c) // Menambahkan rendering hints (anti alias, dsb) void addrenderinghints(map hints) Pada gambar 1 ditampilkan contoh penerapan Stroke, Paint, Transform pada object Grafik. Sedangkan pada gambar 2 1 ditampilkan obejek-objek shapes yang ada pada class Graphics2D. Masingmasing class bertugas untuk memodelkan objek grafik, kemudian untuk menampilkan tinggal memanggil method Graphics2D.draw(Shape s). Figure 1: Stroke, Fill (Paint) dan Transform Figure 2: Berbagai macam Shapes pada class Graphics2D 2 Praktikum Buatlah program untuk menampilkan objek-objek seperti pada gambar 3 berikut ini. Gunakanlah template pada Listing 3 dan Listing 4 kemudian tambahkan kode yang diperlukan untuk menggambarkan objek-objek tersebut pada method paintcomponent. 1 Diambil dari buku: Computer Graphics using Java 2D and 3D 3

Listing 3: class Main 1 //import package yang diperlukan 2 import java.awt.*; 3 import java.awt.event.*; 4 import java.awt.geom.*; 5 import javax.swing.*; 6 7 public class Main { 8 public static void main(string[] args) { 9 JFrame frame = new JFrame(); 10 frame.settitle("aplikasi Komputer Grafik"); 11 frame.setdefaultcloseoperation(jframe.exit_on_close); 12 13 //tambahkan canvas 14 GrafikCanvas canvas = new GrafikCanvas(); 15 frame.getcontentpane().add(canvas); 16 frame.pack(); 17 frame.setvisible(true); 18 } 19 } Listing 4: class GrafikKanvas 1 //import package yang diperlukan 2 import java.awt.*; 3 import java.awt.event.*; 4 import java.awt.geom.*; 5 import javax.swing.*; 6 7 public class GrafikCanvas extends JPanel { 8 public GrafikCanvas() { 9 this.setpreferredsize(new Dimension(400, 400)); 10 this.setbackground(color.white); 11 } 12 public void paintcomponent(graphics g) { 13 super.paintcomponent(g); 14 Graphics2D g2 = (Graphics2D)g; 15 // kode render grafik objek 16 //... 17 } 18 } 4

Figure 3: Berbagai macam geometry 5