private void setupLookAndFeel() {
		try {
			//--- set the desired preconfigured plaf ---
			UIManager.LookAndFeelInfo currentLAFI = null;

			// retrieve plaf param.
			String plaf = "Mac,Windows,Metal";           

			// this line needs to be implemented in order to make L&F work properly
			UIManager.getLookAndFeelDefaults().put("ClassLoader", getClass().getClassLoader());

			// query list of L&Fs
			UIManager.LookAndFeelInfo[] plafs = UIManager.getInstalledLookAndFeels();

			if ((plaf != null) && (!"".equals(plaf))) {

				String[] instPlafs = plaf.split(",");
				search:
					for(int i = 0; i < instPlafs.length; i++) {
						for(int j = 0; j < plafs.length; j++) {
							currentLAFI = plafs[j];
							//System.out.println(currentLAFI.getName());
							if(currentLAFI.getName().startsWith(instPlafs[i])) {
								UIManager.setLookAndFeel(currentLAFI.getClassName());
								// setup font
								setUIFont(new FontUIResource("SansSerif", Font.PLAIN, 12));
								break search;
							}
						}
					}
			}
		} catch (Exception except) {
			// setup font
			setUIFont(new FontUIResource("SansSerif", Font.PLAIN, 12));
		}
	}