Membuat Bentuk Yang Tidak Biasa Dengan Generalpath Pada Komponen Java Swing

30 views
Dalam postingan lalu, kita sudah membahas perihal bagaimana menciptakan komponen java swing menjadi transparan. nah kali ini kita akan membahas menciptakan bentuk yang tidak biasa (biasanya kita menciptakan kotak atau bulat) juga tidak memakai gambar. contohnya menciptakan setengah lingkaran atau bentuk yang lainnya.

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

untuk menciptakan bentuk komponen menjadi menarik, kita dapat memadukan bentuk-bentuk sederhana menyerupai longkaran, kotak line dan lain sebagainya. nah yang jarang sekali digunkanan yaitu GeneralPath. GeneralPath yaitu class yang dapat dipakai untuk menciptakan bentuk yang tidak “biasa”.

Bingung? hehe ya udah kini kita coba saja memakai pola kasus. coba buat sebuah project dan tambahkan instruksi 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 instruksi tersebut di method paintComponent mikil swing komponen java. berikut pola 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 dibentuk ke JFrame atau ke JPanel. Berikut kurang lebih Hasilnya:

Nah silahkan ekplorasi class GeneralPath untuk menciptakan bentuk-bentuk menarik lainnya.
 

Terima kasih sudah meluangkan waktu untuk mengunjungi blog ini.
Author: 
    author
    No related post!