Lanjutan Grafik 2D.

Slides:



Advertisements
Presentasi serupa
Java Applets Pertemuan 7
Advertisements

Pemrograman Berorientasi Objek
Konsep Abstract Windowing Toolkit (AWT)
- PERTEMUAN 3- INHERITANCE
Struktur Kode Aplikasi Java (2) As’ad Djamalilleil
GUI & Event Handling Viska Mutiawani, M.Sc.
Abstract windowing toolkit & swing
Graphic User Interface
- PERTEMUAN 9 - BERBAGAI KELAS UTILITAS DI JAVA
Presented by : Ratri Enggar Pawening
KONSEP OOP DAN AWT [ RIO PRIANTAMA ].
Pemrograman Berorientasi Objek
SMAN 3 PARIAMAN RENCANA PEMBELAJARAN TIK KELAS XII SMAN 3 PARIAMAN.
PENANGANAN WAKTU Pertemuan 8. Kelas Date Date adlaha kelas yang berhubungan dengan penanganan informasi tanggal dan jam. Konstruksi kelas berupa : Date()
Konsep Pemrograman dan Paradigmanya
KONSEP SWING.
Pemrograman Berorientasi Objek
APPLET.
PBOL Dewi Kusumaningsih
MENGUASAI LAYOUT MANAGER
Inner Class dan Eksepsi (Exception)
Inheritance (Pewarisan)
KONSEP AWT.
Java GUI PBO.
POLYMORPHISM (KEBANYAKRUPAAN)
Dewi Kusumaningsih, M.Kom
Java GUI.
Constructor dan Overloading
POLYMORPHISM (KEBANYAKRUPAAN)
Inheritance Pertemuan 8
Basic GUI Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 13 Tahun : 2008 Versi : 1/0.
Java Progamming Membangun GUI dengan Swing
MODIFIER JAVA.
Pengorganisasian Class
ABSTRACT CLASS DAN INTERFACE
Tugas Minggu Ke 9 PBO Siti Halisah
JAVA FUNDAMENTAL (Method)
THREAD Pertemuan 9.
JFC dan Swing U Abd. Rohim, MT mailto:
QuadCurve2D QuadCurve2D merepresentasikan sebuah quadratic curve yang didefinisikan dengan tiga buah titik kontrol. Titik pertama dan terakhir merupakan.
CLASS Pertemuan 003.
Struktur Kode Aplikasi Java (2)
MATERI PENDUKUNG PENGGUNAAN THROW
PACKAGE (FOLDER/DIREKTORI)
PACKAGE (FOLDER/DIREKTORI)
Karakteristik Pemrograman Berorientasi Objek
Perulangan (Loop) Java Fundamental Syahrul Mauluddin S.Kom.
MODUL PRATIKUM PEMOGRAMAN BERORIENTASI OBJEK (OOP)
Pemrograman Berorientasi Objek
ABSTRACT CLASS DAN INTERFACE
Pilar Object Oriented Programming
INPUT DATA DI JAVA.
Tugas Akhir Java Fundamental Syahrul Mauluddin S.Kom.
Pilar Object Oriented Programming
Frame by frame Buat objek lingkaran dengan menggunakan oval tool (warna garis hitam dan warna dalam merah)
PACKAGE.
Pemrograman Berorientasi Objek
STUDI KASUS.
Method Java Fundamental Syahrul Mauluddin S.Kom, M.Kom.
JAVA FUNDAMENTAL (Array / Larik)
Pilar Object Oriented Programming
Pemrograman Berorientasi Objek <PBO>
OOP ENKAPSULASI SMKN 2 SINGOSARI Kelas XI RPL.
E. Haodudin Nurkifli Universitas Ahmad Dahlan Pertemuan
MENGGAMBAR OBJEK GEOMETRIS GeneralPath
Bahasa Pemrograman (Pemrograman Visual)
PAINTING AND STROKING.
Pertemuan 6 Praktek Pembuatan Program dengan menggunakan Inheritance
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

Lanjutan Grafik 2D

AREA KONTRUKSI GEOMETRI Satu cara untuk membuat bentuk lebih kompleks adalah dengan mengkombinasikan beberapa bentuk sebelumnya (objek geometri). Cara ini dikenal sebagai geometri area konstruktif (constructive area geometry). Kelas Area didesain untuk menghasilkan geometri area konstruktif void add(Area a) void intersect(Area a) void subtract(Area a) void exclusiveOr(Area a)

void add(Area a) Shape s1 = new Ellipse2D.Double(0, 0, 100, 100); //lingkaran kedua. Shape s2 = new Ellipse2D.Double(60, 0, 100, 100); //area geometri pertama. Area a1 = new Area(s1); //area geometri kedua. Area a2 = new Area(s2); //geser posisi kedua kedua lingkaran dengan x=20 y=50. g2.translate(20, 50); //penentuan ketebalan dan warna garis. BasicStroke bsThickLine = new BasicStroke(5.0f); g2.setStroke(bsThickLine); g2.setPaint(Color.blue); //gambar lingkaran pertama. g2.draw(s1); //gambar lingkaran kedua. g2.draw(s2); //operasi “add”. 11 a2.add(a1); //penentuan warna untuk mengisi hasil operasi “add”. g2.setPaint(Color.green); //pewarnaan area hasil operasi “add”. g2.fill(a2); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.geom.*; public class AddArea extends JApplet { public static void main(String s[]) { JFrame frame = new JFrame(); frame.setTitle(“Constructive Area Geometry”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new AddArea(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new AreaPanel(); getContentPane().add(panel); } } class AreaPanel extends JPanel { public AreaPanel() { setPreferredSize(new Dimension(760, 400)); } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; //lingkaran pertama.

Ouput void add(Area a) gunakan metode ini untuk menambahkan area yg diberikan, rhs, ke Area tesebut.

void intersect(Area a //lingkaran kedua Shape s2 = new Ellipse2D.Double(60, 0, 100, 100); //area geometri pertama Area a2 = new Area(s2); //pindah posisi kedua kedua lingkaran dengan x=20 y=50 g2.translate(20, 50); //gambar lingkaran pertama g2.draw(s1); //gambar lingkaran kedua g2.draw(s2); //area geometri kedua Area a1 = new Area(s1); //operasi “intersect” a1.intersect(a2); //penentuan ketebalan dan warna garis BasicStroke bsThickLine = new BasicStroke(5.0f); g2.setStroke(bsThickLine); g2.setPaint(Color.blue); //gambar bidang hasil operasi “intersect” g2.draw(a1); //penentuan warna untuk mengisi bidang hasil operasi “intersect”. g2.setPaint(Color.green); //pewarnaan bidang hasil operasi “intersect”. g2.fill(a1); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.geom.*; public class IntersectArea extends JApplet { public static void main(String s[]) { JFrame frame = new JFrame(); frame.setTitle(“Geometri Bidang Konstruktif”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new IntersectArea(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new AreaPanel(); getContentPane().add(panel); } } class AreaPanel extends JPanel { public AreaPanel() { setPreferredSize(new Dimension(760, 400)); } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; //lingkaran pertama Shape s1 = new Ellipse2D.Double(0, 0, 100, 100);

Ouput void intersect(Area a) metode ini memodifikasi Area ini untuk merepresentasikan proses pemotongan dari bentuk shape awal dan area yang tersuplai.

void subtract(Area a) Shape s2 = new Ellipse2D.Double(60, 0, 100, 100); //area geometri pertama Area a2 = new Area(s2); //pindah posisi kedua kedua lingkaran dengan x=20 y=50 g2.translate(20, 50); //gambar lingkaran pertama g2.draw(s1); //gambar lingkaran kedua g2.draw(s2); //area geometri kedua Area a1 = new Area(s1); //operasi “subtract” a1.subtract(a2); //penentuan ketebalan dan warna garis BasicStroke bsThickLine = new BasicStroke(5.0f); g2.setStroke(bsThickLine); g2.setPaint(Color.blue); //gambar bidang hasil operasi “subtract” g2.draw(a1); //penentuan warna untuk mengisi bidang hasil operasi “subtract”. g2.setPaint(Color.green); //pewarnaan bidang hasil operasi “subtract”. g2.fill(a1); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.geom.*; public class SubtractArea extends JApplet { public static void main(String s[]) { JFrame frame = new JFrame(); frame.setTitle(“Geometri Bidang Konstruktif”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new SubtractArea(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new AreaPanel(); getContentPane().add(panel); } } class AreaPanel extends JPanel { public AreaPanel() { setPreferredSize(new Dimension(760, 400)); } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; //lingkaran pertama Shape s1 = new Ellipse2D.Double(0, 0, 100, 100); //lingkaran kedua

Ouput void subtract(Area a) gunakan metode ini untuk mengurangi bagian area yang direpresentasikan oleh rhs dari Area ini

void exclusiveOr(Area a) Shape s1 = new Ellipse2D.Double(0, 0, 100, 100); //lingkaran kedua Shape s2 = new Ellipse2D.Double(60, 0, 100, 100); //area geometri pertama Area a2 = new Area(s2); //pindah posisi kedua kedua lingkaran dengan x=20 y=50 g2.translate(20, 50); //gambar lingkaran pertama g2.draw(s1); //gambar lingkaran kedua g2.draw(s2); //area geometri kedua Area a1 = new Area(s1); //operasi “exclusiveOr” a1.exclusiveOr(a2); //penentuan ketebalan dan warna garis BasicStroke bsThickLine = new BasicStroke(5.0f); g2.setStroke(bsThickLine); g2.setPaint(Color.blue); //gambar bidang hasil operasi “exclusiveOr” g2.draw(a1); //penentuan warna untuk mengisi bidang hasil operasi “exclusiveOr”. g2.setPaint(Color.green); //pewarnaan bidang hasil operasi “exclusiveOr”. g2.fill(a1); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.geom.*; public class ExclusiveOrArea extends JApplet { public static void main(String s[]) { JFrame frame = new JFrame(); frame.setTitle(“Geometri Bidang Konstruktif”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JApplet applet = new ExclusiveOrArea(); applet.init(); frame.getContentPane().add(applet); frame.pack(); frame.setVisible(true); } public void init() { JPanel panel = new AreaPanel(); getContentPane().add(panel); } } class AreaPanel extends JPanel { public AreaPanel() { setPreferredSize(new Dimension(760, 400)); } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D)g; //lingkaran pertama

Ouput void exclusiveOr(Area a) metode ini memodifikasi Area sehingga metode ini merepresentasikan sebuh exclusive or dari shape yang asli dan area yang diberikan