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:
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.
Nah silahkan ekplorasi class GeneralPath untuk membuat bentuk-bentuk menarik lainnya.
Terima kasih sudah meluangkan waktu untuk mengunjungi blog ini.
0 komentar:
Posting Komentar