Java – Membuat Icons Factory Class

Class IconsFactory biasa saya gunakan untuk memudahkan mengorganisasi icon-icon yang saya gunakan di project Java.
Dengan class IconFactory kamu tidak perlu repot-repot mengingat path icon yang mungkin akan berulang-ulang kamu panggil.
Intinya adalah menyatukan semua icon yang kita butuhkan dalam satu class yang memudahkan kita dalam memanggilnya.

Berikut contohnya :
Saya punya dua package yang satu berisi icon-icon yang satu berisi code.
Saya beri nama package icon dengan nama image, ini nanti akan kita jadikan path yang akan kita lookup.

IconsFactory.java

package util;

import javax.swing.ImageIcon;

public class IconsFactory {
	
	private static String PATH_IMAGES = "/images/";
	
	public static ImageIcon  ADD = getImageIcon(PATH_IMAGES+"add.png");	
	public static ImageIcon  DELETE = getImageIcon(PATH_IMAGES+"delete.png");
	public static ImageIcon  COPY = getImageIcon(PATH_IMAGES+"copy.png");
	public static ImageIcon  EDIT = getImageIcon(PATH_IMAGES+"edit.png");
	public static ImageIcon  REFRESH = getImageIcon(PATH_IMAGES+"refresh.png");
	public static ImageIcon  SAVE = getImageIcon(PATH_IMAGES+"save.png");
	public static ImageIcon  SEARCH = getImageIcon(PATH_IMAGES+"search.png");
	
	private static ImageIcon getImageIcon(String name) {
		ImageIcon icon = null;
        if (name != null) {
        	try {
        		icon = new ImageIcon(IconsFactory.class.getResource(name));
        	} catch (NullPointerException ex) {
        		System.out.println("Cannot get icon : " + name);
        	}
        }
        
        return icon;
    }
	
	
	
}


Contoh penggunaan :


JButton btnNewButton = new JButton("New button");
btnNewButton.setIcon(IconsFactory.ADD);

Semoga bermanfaat,

mazipan-signature

One thought on “Java – Membuat Icons Factory Class

Be a good reader, leave your comment please.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s