public abstract class UserInfoDialog
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected javax.swing.JTextField |
addEmailTf
Campo utilizado para conter e-mails que serão armazenados na lista.
|
protected java.lang.String |
dialogTitle
Título para o diálogo e seus subdiálogos
|
protected javax.swing.DefaultListModel |
emailsModel
Modelo da lista que contém os e-mails do usuário.
|
protected javax.swing.JTextField |
login
Campo login do usuário
|
protected javax.swing.JTextField |
name
Campo nome do usuário
|
protected java.awt.Window |
ownerWindow
Janela que criou o diálogo
|
protected csbase.logic.UserInfo |
userInfo
Objeto que centraliza as informações do usuário (padrão Data Transfer
Object - DTO), compartilhadas entre esse diálogo e seus diálogos de
informações complementares (diálogos de perfis, permissões e senha)
|
protected DesktopComponentDialog |
userInfoDialog
Instância do diálogo
|
| Modifier | Constructor and Description |
|---|---|
protected |
UserInfoDialog(java.awt.Window ownerWindow,
java.lang.String dialogTitle)
Construtor que inicializa atributos comuns (referência para a janela-pai,
título do diálogo e DTO de informaços do usuário).
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addDataComponentsListeners()
Adiciona observadores aos componentes que mantém os dados do usuário.
|
void |
addEmail()
Pega o e-mail digitado no campo
#addEmailTf e o adiciona na lista
de e-mails. |
protected abstract boolean |
confirmClose()
Avisa o usuário de que há dados entrados não-salvos, e confirma se este
deseja realmente sair ignorando os dados entrados, cancelar ou gravar suas
alterações antes de fechar.
|
protected java.util.List<javax.swing.JComponent[]> |
createDataComponents()
Cria uma lista com os componentes que irão conter os dados do usuários.
Cada elemento dessa lista deverá ser um array de dois componentes. |
protected void |
fireOnDataChanged()
Método chamado sempre que algum dado for alterado.
|
protected javax.swing.JTextField |
getLogin() |
DesktopComponentDialog |
getUserInfoDialog() |
protected javax.swing.JButton |
makeCloseButton()
Cria o botão de fechamento da janela, atribuindo-lhe como ação o método
close(). |
protected void |
makeDialog()
Cria um diálogo básico de dados de um usuário, dividido em 3 áreas:
um painel superior com os campos de texto login, nome e e-mail;
um painel central vazio, preparado para botões que acionam diálogos de
informações complementares, como perfis, permissões e senha;
e finalmente um painel inferior para botões de ação, contendo um botão
"Fechar".
Tanto o botão "X" no canto superior esquerdo da janela quanto o botão
"Fechar" executam o mesmo procedimento
close() ao
fechar. |
protected javax.swing.JPanel |
makeLowerPanel()
Constrói o painel inferior, contendo os botões de ação (o painel básico só
contém o botão fechar).
|
protected javax.swing.JPanel |
makeMiddlePanel()
Constrói o painel central, reservado para a entrada de informações
complementares do usuário.
|
protected javax.swing.JPanel |
makeUpperPanel()
Constrói o painel superior contendo as principais informações do usuário
(login, nome e e-mail).
|
protected boolean |
requiredFieldsAreFilled()
Indica se os campos requeridos estão preenchidos.
|
void |
setVisible(boolean b)
Exibe/esconde o diálogo.
|
protected abstract boolean |
unsavedDataInput()
Verifica se houve entrada de dados não-salvos na interface.
|
protected void |
updateUserInfo()
Atualiza o conteúdo do DTO de usuário com as informações contidas nos
campos do diálogo (login, nome e e-mail).
|
protected DesktopComponentDialog userInfoDialog
protected java.awt.Window ownerWindow
protected javax.swing.JTextField name
protected javax.swing.JTextField login
protected javax.swing.DefaultListModel emailsModel
protected javax.swing.JTextField addEmailTf
protected java.lang.String dialogTitle
protected csbase.logic.UserInfo userInfo
protected UserInfoDialog(java.awt.Window ownerWindow,
java.lang.String dialogTitle)
ownerWindow - janela que criou este diálogo.dialogTitle - título deste diálogo, usado também em alguns dos seus
subdiálogos.public void setVisible(boolean b)
b - indica se o diálogo deve estar visível (true) ou
invisível (false).protected void addDataComponentsListeners()
Adiciona observadores aos componentes que mantém os dados do usuário.
Se ao extender essa classe você sobrescrever o método
createDataComponents() para adicionar novos componentes,
sobrescreva também este método adicionando aqui os observadores dos dados
destes componentes para que quando estes forem alterados, eles chamem o
método fireOnDataChanged().
Este método é chamado logo após o método makeDialog(), garantindo
assim que todos os componentes gráficos já existam.
protected void makeDialog()
close() ao
fechar.close()public DesktopComponentDialog getUserInfoDialog()
protected java.util.List<javax.swing.JComponent[]> createDataComponents()
Cria uma lista com os componentes que irão conter os dados do usuários.
Cada elemento dessa lista deverá ser um array de dois componentes. O 1o
deverá ser o label do 2o componente.
Se esse método for sobrescrito para adicionar novos componentes, você
também deverá sobrescrever os métodos addDataComponentsListeners()
e updateUserInfo().
addDataComponentsListeners()public void addEmail()
#addEmailTf e o adiciona na lista
de e-mails.protected javax.swing.JPanel makeUpperPanel()
protected javax.swing.JPanel makeMiddlePanel()
protected javax.swing.JButton makeCloseButton()
close().close()protected boolean requiredFieldsAreFilled()
true se os campos requeridos estiverem preenchidos ou
false se estiverem vazios.protected void updateUserInfo()
Atualiza o conteúdo do DTO de usuário com as informações contidas nos campos do diálogo (login, nome e e-mail).
Se o método createDataComponents() for sobrescrito para adicionar
novos componentes, este método também deverá ser sobrescrito para que o
valor desses novos componentes sejam salvos no userInfo.
createDataComponents()protected javax.swing.JPanel makeLowerPanel()
protected javax.swing.JTextField getLogin()
protected void fireOnDataChanged()
protected abstract boolean unsavedDataInput()
true se algum dado foi editado ou false
caso contrárioprotected abstract boolean confirmClose()
true caso o diálogo deva ser realmente fechado, ou
false caso o usuário queira cancelar o fechamento para
revisar suas alterações.Copyright © 2018. All Rights Reserved.