/**
 * Created by shveerab on 6/8/2017.
 */
import javax.swing.*;
import java.awt.event.ActionListener;

public class CustomUI extends UIManager {
    public static void main(String[] args) throws
            UnsupportedLookAndFeelException {
        //System.out.println("LAF:"+getLookAndFeelDefaults());

        LookAndFeel laf = new LookAndFeel() {
            @Override
            public String getName() {
                return "Custom LAF";
            }

            @Override
            public String getID() {
                return "1";
            }

            @Override
            public String getDescription() {
                return "Custom LAF";
            }

            @Override
            public boolean isNativeLookAndFeel() {
                return true;
            }

            @Override
            public boolean isSupportedLookAndFeel() {
                return true;
            }
        };

        JFrame theFrame = new JFrame("Custom UI");
        JComponent comp = new JComponent() {
        };

        //System.err.println("UIDefaults.getUI() failed: ");
        UIManager.setLookAndFeel(laf);
        System.out.println("LAF State: " + UIManager.getLookAndFeel() + ",LAF" +
                " " +
                "Class: " + UIManager.getSystemLookAndFeelClassName());

        //SwingUtilities.updateComponentTreeUI(theFrame);
        try {
            System.out.println("Updating UI");
            UIManager.getUI(comp);
        } catch (Exception e) {
            System.out.println("GetUI is null");
            System.out.println(e.getMessage());
        }
    }
}
