Escriba código Java™ para definir el aspecto y las funciones del editor definido por el usuario.
Escriba código Java para el editor definido por el usuario en la clase Java que desea utilizar. Debe asignar la clase Java y el proyecto de código al editor definido por el usuario cuando configure el editor; consulte
Configurar un editor definido por el usuario. Los usuarios de patrón editan una instancia del patrón definido por el usuario utilizando el editor de instancias de patrón. El código del editor definido por el usuario transfiere valores a, y recibe valores del editor de instancias de patrón utilizando dos interfaces Java,
PatternPropertyEditor y
PatternPropertyEditorSite.
Debe escribir código para alterar temporalmente los métodos de estas interfaces.
Si se genera una excepción mediante el código del editor definido por el usuario, la excepción se obtiene y se visualiza en la ventana Excepción del editor de instancias de patrón, que se abre automáticamente.
Para escribir el código para el editor definido por el usuario:
- Escriba código para la clase principal de editor definido por el usuario. Tenga en cuenta los puntos siguientes:
- La clase principal de editor definido por el usuario se crea cuando el usuario del patrón abre una instancia del patrón definido por el usuario.
- El editor definido por el usuario debe ampliar la superclase BasePatternPropertyEditor.
- La clase principal debe proporcionar un constructor público predeterminado sin argumentos.
- En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método configureEditor(). Utilice este método para configurar el editor definido por el usuario una vez que se haya creado. Tenga en cuenta los puntos siguientes:
- El método configureEditor() toma un objeto PatternPropertyEditorSite, un valor booleano y un valor de serie. Estos valores se transfieren automáticamente desde el editor de instancias de patrón.
- El objeto PatternPropertyEditorSite actúa como interfaz entre el código de editor definido por el usuario y el editor de instancias de patrón. Puede acceder a este objeto utilizando el método getSite() en cualquier lugar en el código de editor definido por el usuario.
- El valor booleano indica si el parámetro de patrón para el editor definido por el usuario se ha etiquetado como obligatorio. En caso afirmativo, el código debe establecer un valor para el parámetro de patrón.
- El valor de serie contiene los valores de configuración que se especifican cuando se configura el editor definido por el usuario. Si es necesario, puede escribir código para analizar esta serie con el fin de utilizar los valores del código del editor.
- En el método configureEditor(), llame a configureEditor() en la superclase
y transfiera el objeto PatternPropertyEditorSite, el valor booleano y el valor de serie que se transfirieron al método configureEditor().
Por ejemplo:
@Override
public void configureEditor(PatternPropertyEditorSite site, boolean required, String configurationValues) {
super.configureEditor(site, required, configurationValues);
}
- En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método
createControls(). Utilice este método para definir los controles del editor definido por el usuario. Tenga en cuenta los puntos siguientes:
- Puede crear los controles del método createControls() o escriba una o varias clases para los controles y cree una instancia de clases nuevas desde el método createControls().
- Debe llamar al método valueChanged() en el objeto PatternPropertySite cuando el valor del parámetro de patrón cambia. Esta llamada notifica el cambio al editor de instancias de patrón, que a continuación actualizará todas las expresiones XPath o editores definidos por el usuario que utilizan este parámetro de patrón. Puede acceder al objeto PatternPropertySite para el editor definido por el usuario utilizando el método getSite(); por ejemplo, PatternPropertyEditorSite site = getSite().
- En el método createControls(), debe inicializar los controles antes de definir algún escucha para esos controles.
- En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método setValue(). Utilice este método para establecer valores iniciales en el editor definido por el usuario, por ejemplo, para rellenar un recuadro de texto con el valor predeterminado del parámetro de patrón. El método setValue() toma un valor de serie que es el valor actual del parámetro de patrón, que se transfiere automáticamente desde el editor de instancias de patrón. El valor transferido del editor de instancias de patrón es el valor predeterminado del parámetro, o el valor que se ha guardado después de configurar la instancia de patrón.
- En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método
getValue(). Utilice este método para proporcionar el valor del parámetro de patrón al editor de instancias de patrón.
Se llama automáticamente al método getValue() después de que se llame al método valueChanged().
- En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método setEnabled(). Utilice este método para habilitar o inhabilitar el editor definido por el usuario. Al método setEnabled() se le transfiere un valor booleano del editor de instancias de patrón para indicar si el parámetro de patrón está habilitado o inhabilitado habilitando una expresión XPath. Cuando el parámetro está habilitado, el valor es true; cuando el valor está inhabilitado el valor es
false.
- Opcional: En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método
isValid().
Utilice este método para validar las entradas en el editor y devolver un mensaje de error al editor de instancias de patrón si es necesario. El mensaje de error se visualiza para los usuarios del patrón en el editor de instancias de patrón.
- Opcional: En la clase principal de editor definido por el usuario, escriba código para alterar temporalmente el método notifyChanged().
Utilice este método para manejar las notificaciones de cambios desde otros parámetros del patrón definido por el usuario y cambiar el valor del parámetro de patrón o el comportamiento del editor, si es necesario. El método notifyChanged() adopta el ID de parámetro del parámetro modificado y el nuevo valor de ese parámetro.
Consulte los siguientes ejemplos de código Java para editores definidos por el usuario:
A continuación:Si no ha configurado el editor definido por el usuario, consulte Configurar un editor definido por el usuario.