Membuat bentuk yang tidak biasa dengan GeneralPath pada komponen Java Swing | Tempat Belajar dan Berbagi Pengetahuan Java dan PHP
Home » , , , , , » Membuat bentuk yang tidak biasa dengan GeneralPath pada komponen Java Swing

Membuat bentuk yang tidak biasa dengan GeneralPath pada komponen Java Swing

Dipostingkan Oleh Ridwan Labs pada Selasa, 21 Mei 2013 - Diupdate Pada: 5/21/2013

Dalam postingan lalu, kita sudah membahas tentang bagaimana membuat komponen java swing menjadi transparan. nah kali ini kita akan membahas membuat bentuk yang tidak biasa (biasanya kita membuat kotak atau bulat) juga tidak menggunakan gambar. misalnya membuat setengah lingkaran atau bentuk yang lainnya.

Seperti telah dibahas pada postingan-potingan sebelumnya, untuk membuat bentuk komponen swing yang sesuai dengan keinginan, kita bisa meng-override method pain atau paint componen.

untuk membuat bentuk komponen menjadi menarik, kita bisa memadukan bentuk-bentuk sederhana seperti longkaran, kotak line dan lain sebagainya. nah yang jarang sekali digunkanan adalah GeneralPath. GeneralPath adalah class yang bisa digunakan untuk membuat bentuk yang tidak "biasa".

Bingung? hehe ya udah sekarang kita coba saja menggunakan contoh kasus. coba buat sebuah project dan tambahkan kode berikut:
super.paintComponent(g);

        GradientPaint paint = new GradientPaint(0, 0, new Color(255, 255, 255, 100), getWidth(), getHeight(), new Color(255, 255, 255, 0));
        GeneralPath path = new GeneralPath();
        path.moveTo(0, 0);
        path.lineTo(0, getHeight());
        path.curveTo(0, getHeight(), getWidth() / 5, getHeight() / 5, getWidth(), 0);
        path.closePath();

        Graphics2D g2 = (Graphics2D) g.create();
        g2.setPaint(paint);
        g2.fill(path);
        g2.dispose();
Jangan lupa simpan kode tersebut di method paintComponent mikil swing komponen java. berikut contoh implementasinya:
package gradienpanel;

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.GeneralPath;
import javax.swing.JPanel;

/**
 *
 * @author Taopik Ridwan
 */
public class UniqGradienPanel extends JPanel {

    public UniqGradienPanel() {
        super();
        setOpaque(false);
    }

    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);

        GradientPaint paint = new GradientPaint(0, 0, new Color(255, 255, 255, 100), getWidth(), getHeight(), new Color(255, 255, 255, 0));
        GeneralPath path = new GeneralPath();
        path.moveTo(0, 0);
        path.lineTo(0, getHeight());
        path.curveTo(0, getHeight(), getWidth() / 5, getHeight() / 5, getWidth(), 0);
        path.closePath();

        Graphics2D g2 = (Graphics2D) g.create();
        g2.setPaint(paint);
        g2.fill(path);
        g2.dispose();
    }
}
Coba tabahkan komponen yang barusan dibuat ke JFrame atau ke JPanel. Berikut kurang lebih Hasilnya:


Nah silahkan ekplorasi class GeneralPath untuk membuat bentuk-bentuk menarik lainnya.
 
Terima kasih sudah meluangkan waktu untuk mengunjungi blog ini.
Share this article :

0 komentar:

Posting Komentar

Cari Artikel



 
Support : Admin
Copyright © 2013. Tempat Belajar dan Berbagi Pengetahuan Java dan PHP - All Rights Reserved
Template Created by Creating Website Modified by CaraGampang.Com
Proudly powered by Blogger