public abstract class UserInfoDialog extends Object
| Modifier and Type | Field and Description |
|---|---|
protected JTextField |
addEmailTf
Campo utilizado para conter e-mails que serão armazenados na lista.
|
protected String |
dialogTitle
Título para o diálogo e seus subdiálogos
|
protected DefaultListModel |
emailsModel
Modelo da lista que contém os e-mails do usuário.
|
protected JTextField |
login
Campo login do usuário
|
protected JTextField |
name
Campo nome do usuário
|
protected 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(Window ownerWindow,
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 List<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 JTextField |
getLogin() |
DesktopComponentDialog |
getUserInfoDialog() |
protected 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 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 JPanel |
makeMiddlePanel()
Constrói o painel central, reservado para a entrada de informações
complementares do usuário.
|
protected 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 Window ownerWindow
protected JTextField name
protected JTextField login
protected DefaultListModel emailsModel
protected JTextField addEmailTf
protected String dialogTitle
protected csbase.logic.UserInfo userInfo
protected UserInfoDialog(Window ownerWindow, 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 List<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 JPanel makeUpperPanel()
protected JPanel makeMiddlePanel()
protected 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 JPanel makeLowerPanel()
protected 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 © 2017. All rights reserved.