All Downloads are FREE. Search and download functionalities are using the official Maven repository.

es.gob.afirma.standalone.plugins.UIFactory Maven / Gradle / Ivy

The newest version!
package es.gob.afirma.standalone.plugins;

import java.awt.Component;
import java.awt.Frame;
import java.awt.Image;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

import javax.swing.JDialog;

/**
 * Clase para la construcción de diálogos y recursos gráficos para su uso en AutoFirma.
 */
public class UIFactory {

	/**
	 * Crea un diálogo de espera.
	 * @param parent Componente padre.
	 * @param message Mensaje del diálogo.
	 * @param title Título del diálogo.
	 * @return Diálogo gráfico.
	 * @throws IOException Cuando no se puede crear el diálogo.
	 */
	public static JDialog getWaitingDialog(final Component parent, final String message, final String title)
			throws IOException {

		try {
			final Class commonWaitDialogClass = Class.forName("es.gob.afirma.standalone.ui.CommonWaitDialog"); //$NON-NLS-1$

			final Constructor commonWaitDialogConstructor =
					commonWaitDialogClass.getConstructor(Frame.class, String.class, String.class);

			return (JDialog) commonWaitDialogConstructor.newInstance(parent, message, title);
		}
		catch (final Exception e) {
			throw new IOException("No se ha podido cargar el dialogo de espera", e); //$NON-NLS-1$
		}
	}

	public static Image getDefaultDialogIcon() throws IOException {
		try {
			final Class autoFirmaUtilClass = Class.forName("es.gob.afirma.standalone.AutoFirmaUtil"); //$NON-NLS-1$

			final Method getDefaultDialogIconMethod =
					autoFirmaUtilClass.getMethod("getDefaultDialogsIcon"); //$NON-NLS-1$

			return (Image) getDefaultDialogIconMethod.invoke(null);
		}
		catch (final Exception e) {
			throw new IOException("No se ha podido cargar el icono para los dialogos", e); //$NON-NLS-1$
		}
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy