Grave código Java™ para definir a aparência e a função de seu editor definido pelo usuário.
Insira o código Java do seu editor definido
pelo usuário na classe Java que você deseja utilizar. Você deve designar a classe Java e o projeto do código para o seu editor definido pelo usuário ao configurar o editor; consulte
Configurando um Editor Definido pelo Usuário. Usuários padrão editam uma instância de seu padrão definido pelo usuário usando o editor de instância padrão. O código do seu editor definido pelo usuário transmite valores para o editor de instância padrão e recebe valores dele usando duas interfaces Java,
PatternPropertyEditor e
PatternPropertyEditorSite.
Você deve gravar o código para substituir os métodos nessas interfaces.
Se uma exceção for lançada pelo código do editor definido pelo usuário, a exceção será capturada e exibida na janela Exceção do Editor de Instância Padrão,
a qual é aberta automaticamente.
Para gravar o código para o seu editor definido pelo usuário:
- Grave o código para a classe principal do seu editor definido pelo usuário. Esteja ciente dos seguintes pontos:
- A classe principal do editor definido pelo usuário é criada quando o usuário padrão abre uma instância de seu padrão definido pelo usuário.
- O seu editor definido pelo usuário deve estender a superclasse BasePatternPropertyEditor.
- A classe principal deve fornecer um construtor público padrão sem argumentos.
- Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método configureEditor(). Use esse método para configurar o seu editor definido pelo usuário depois de criá-lo. Esteja ciente dos seguintes pontos:
- O método configureEditor() obtém um objeto PatternPropertyEditorSite,
um valor booleano e um valor de sequência. Esses valores são transmitidos automaticamente a partir do editor de instância padrão.
- O objeto PatternPropertyEditorSite atua como a interface entre o código do seu editor definido pelo usuário e do editor de instância padrão. Você pode acessar esse objeto usando o método getSite() em qualquer lugar no código do editor definido pelo usuário.
- O valor booleano indica se o parâmetro padrão do editor definido pelo usuário foi sinalizado como obrigatório. Se tiver sido sinalizado, o seu código deverá configurar um valor para o parâmetro padrão.
- O valor de sequência contém os valores de configuração que são inseridos ao configurar
o editor definido pelo usuário. Se necessário, será possível gravar o código para analisar essa sequência para usar os valores em seu código do editor.
- No método configureEditor(), chame configureEditor() na superclasse e transmita o objeto PatternPropertyEditorSite,
o valor booleano e o valor de sequência transmitidos para o método configureEditor().
Por exemplo:
@Override
public void configureEditor(PatternPropertyEditorSite site, boolean required, String configurationValues) {
super.configureEditor(site, required, configurationValues);
}
- Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método createControls(). Use esse método para definir os controles do seu editor definido pelo
usuário. Esteja ciente dos seguintes pontos:
- É possível criar os controles no método createControls() ou gravar uma ou mais
classes novas para os controles e instanciar essas classes novas a partir do método createControls().
- Você deve chamar o método valueChanged() no objeto PatternPropertySite quando
o valor do seu parâmetro padrão for alterado. Essa chamada notifica o editor de instância padrão da mudança, que atualiza qualquer expressão XPath ou editores definidos pelo usuário que usam esse parâmetro padrão. É possível acessar o objeto PatternPropertySite para seu editor definido pelo usuário usando o método getSite(), por exemplo, PatternPropertyEditorSite site = getSite().
- No método createControls(), você deve inicializar seus controles
antes de definir quaisquer listeners para esses controles.
- Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método setValue(). Use esse método para configurar valores iniciais em seu editor definido pelo usuário, por exemplo, para preencher uma caixa de texto com o valor padrão do parâmetro padrão. O método setValue() obtém um valor de sequência que é o valor atual do parâmetro padrão, que é transmitido automaticamente a partir do editor de instância padrão. O valor transmitido do editor de instância padrão é o valor padrão do parâmetro ou o valor que foi salvo depois que a instância padrão é configurada.
- Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método getValue(). Use este método para fornecer o valor do parâmetro padrão para o editor de instância padrão.
O método getValue() é automaticamente chamado depois que o método valueChanged() é chamado.
- Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método setEnabled(). Use esse método para ativar ou desativar o seu editor definido pelo usuário. O método setEnabled() transmite um valor booleano do editor de instância padrão para indicar se o parâmetro padrão é ativado ou desativado ativando a expressão XPath. Quando o parâmetro estiver ativado, o valor será true; quando o parâmetro estiver desativado, o valor será false.
- Opcional: Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método isValid().
Use esse método para validar as entradas em seu editor e retornar uma mensagem de erro para o editor de instância padrão, se necessário. A mensagem de erro é exibida para usuários padrão no editor de instância padrão.
- Opcional: Na classe principal do seu editor definido pelo usuário, grave o código para substituir o método notifyChanged().
Use esse método para manipular notificações de mudança de outros parâmetros em seu padrão definido pelo usuário e para alterar o valor do parâmetro padrão ou comportamento de seu editor, se necessário. O método notifyChanged() obtém o ID de parâmetro do parâmetro alterado e o novo valor desse parâmetro.
Consulte os seguintes exemplos de código Java para editores definidos pelo usuário:
Em seguida:Se você não configurou o seu editor definido pelo usuário, consulte Configurando um Editor Definido pelo Usuário.