Mendekorasi Ulang Icon Biar Lebih Harmonis Dengan Tema Aplikasi

Maksud aku yakni terkadang kita kesulitan dalam menyelaraskan icon dengan tema aplikasi yang kita sedang kerjakan. Terkadang waktu untuk menentukan icon yang cocok membutuhkan waktu lebih usang daripada menciptakan arahan aplikasi itu sendiri. Bahkan kalau kita salah menentukan Icon, aplikasi kita malah terlihat "Norak" wah maaf dengan penggunaan kata-katanya.

Makara kenapa tidak kita selaraskan saja warnanya, dan sesuaikan dengan tema yang kita buat. contohnya dengan tema nimbus. kita dapat merubah semua icon (yang warna warni, maupun yang hitam putih sekalipun) menjadi selaras. Masih bingung, cek di gambar saja:


Makara kita dapat merubah semua icon yang ada pada aplikasi kita menjadi satu tema. (pada bab toolbar juga terlihat icon-icon yang sudah berubah).

Oke, lanjut. Berikut cara untuk "Mendekorasi Ulang" icon agar sesuai dengan impian kita.
Langkah pertama
Buat Sebuah project pada Netbeans, lalu buat satubuah Class didalamnya (Nama package dan class terserah agan-agan semua).

Langkah kedua.
silahkan masukan arahan berikut:

 package javadanphp.iconkeren;  import java.awt.AlphaComposite; import java.awt.Color; import java.awt.GradientPaint; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import javax.swing.Icon; import javax.swing.ImageIcon;  /**  *  * @author Taopik Ridwan  */ public class IconKerenPainter {      public static Icon createIconKeren(Image image, int byngn_dlm_pixel) {         BufferedImage newImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_4BYTE_ABGR);                  Graphics2D graphics = newImage.createGraphics();         GradientPaint paint = new GradientPaint(0, 0, new Color(0x2C4873), 0, image.getHeight(null), new Color(0x6D8EC0));         graphics.setPaint(paint);         graphics.fillRect(0, 0, newImage.getWidth(), newImage.getHeight());          graphics.setComposite(AlphaComposite.DstIn);         graphics.drawImage(image, 0, 0, null);           BufferedImage shadowImage =                 createInnerShadow(image, byngn_dlm_pixel);         graphics.setComposite(AlphaComposite.SrcAtop);         graphics.drawImage(shadowImage, 0, 0, null);          graphics.dispose();          return new ImageIcon(newImage);     }      private static BufferedImage createInnerShadow(             Image image, int unblurredShadowSize_pixels) {         int twiceShadowSize = unblurredShadowSize_pixels * 2;         BufferedImage punchedImage = new BufferedImage(                 image.getWidth(null) + twiceShadowSize,                 image.getHeight(null) + twiceShadowSize,                 BufferedImage.TYPE_INT_ARGB);         Graphics2D graphics = punchedImage.createGraphics();         graphics.setColor(new Color(0, 0, 0, 140));         graphics.fillRect(0, 0, punchedImage.getWidth(), punchedImage.getHeight());         graphics.setComposite(AlphaComposite.DstOut);         graphics.drawImage(image, twiceShadowSize, twiceShadowSize, null);         graphics.dispose();         BufferedImage innerShaodowImage = createLinearBlurOp(                 unblurredShadowSize_pixels).filter(punchedImage, null);         return innerShaodowImage.getSubimage(unblurredShadowSize_pixels,                 unblurredShadowSize_pixels, punchedImage.getWidth() - twiceShadowSize,                 punchedImage.getHeight() - twiceShadowSize);     }      private static ConvolveOp createLinearBlurOp(int size) {         float[] data = new float[size * size];         float value = 1.0f / (float) (size * size);         for (int i = 0; i < data.length; i++) {             data[i] = value;         }         return new ConvolveOp(new Kernel(size, size, data));     } } 

Sampai disini sebetulnya class ini sudah simpulan dan dapat eksklusif digunakan. namun agar dapat di drag and drop pada netbeans, kita dapat buat sebuah class lagi.

Langkah Ketiga
Buat sebuah Class,

Masukan Kode Berikut:

 package javadanphp.iconkeren;  import java.awt.Image; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton;  /**  *  * @author Taopik Ridwan  */ public class ButtonIconKeren extends JButton {      @Override     public void setIcon(Icon defaultIcon) {         Icon newIcon = defaultIcon;         if (defaultIcon != null) {             Image ii = ((ImageIcon) defaultIcon).getImage();             newIcon = IconKerenPainter.createIconKeren(ii,1);         }         super.setIcon(newIcon);     } } 
Selesai, Coba compile dan drag and drop component button yang barusan dibuat. lalu tambahkan icon di dalamnya. Berhasil?? kalau ada kesulitan silahkan komentar disini.

Silahkan download Source Codenya disini:
 


Terima kasih sudah meluangkan waktu untuk mengunjungi blog ini.

Belum ada Komentar untuk "Mendekorasi Ulang Icon Biar Lebih Harmonis Dengan Tema Aplikasi"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel