Package br.com.moonjava.flight.view.usuario

Source Code of br.com.moonjava.flight.view.usuario.CriarUsuarioUI

/*
* Copyright 2012 MoonJava LTDA.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package br.com.moonjava.flight.view.usuario;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.FocusListener;
import java.text.ParseException;
import java.util.ResourceBundle;

import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;

import br.com.moonjava.flight.model.base.Perfil;
import br.com.moonjava.flight.util.FlightImageUI;
import br.com.moonjava.flight.util.FocusTextField;
import br.com.moonjava.flight.util.GerarCodigo;
import br.com.moonjava.flight.util.JTextFieldLimit;
import br.com.moonjava.flight.util.RequestParamWrapper;

/**
* @version 1.0 Aug 21, 2012
* @contact miqueias@moonjava.com.br
*
*/
public class CriarUsuarioUI {

  private final JPanel conteudo;
  protected final ResourceBundle bundle;
  private final JButton atualizar;
  private final JButton deletar;

  private JTextField nome;
  private JTextField sobrenome;
  private JTextField nascimento;
  private JTextField cpf;
  private JTextField rg;
  private JTextField endereco;
  private JTextField telResidencial;
  private JTextField telCelular;
  private JTextField email;

  private JComboBox perfil;
  private JTextField login;
  private JPasswordField senha;
  private JLabel imagemCpf;
  private JLabel codigo;
  private JLabel alertaCpf;
  private JButton cadastrar;
  private JLabel imagemNascimento;
  private JLabel alertaNascimento;
  private JLabel imagemTelResidencial;
  private JLabel alertaTelResidencial;
  private JLabel imagemTelCelular;
  private JLabel alertaTelCelular;

  public CriarUsuarioUI(JPanel conteudo,
                        ResourceBundle bundle,
                        JButton atualizar,
                        JButton deletar) {
    this.conteudo = conteudo;
    this.bundle = bundle;
    this.atualizar = atualizar;
    this.deletar = deletar;

    disableButtons();
    refresh();
    mainMenu();
  }

  protected void mainMenu() {
    // Titulos
    JLabel tituloCodigo = new JLabel(bundle.getString("criar.usuario.titulo.codigo"));
    JLabel tituloNome = new JLabel(bundle.getString("criar.pessoafisica.titulo.nome"));
    JLabel tituloSobrenome = new JLabel(bundle.getString("criar.pessoafisica.titulo.sobrenome"));
    JLabel tituloNascimento = new JLabel(bundle.getString("criar.pessoafisica.titulo.nascimento"));
    JLabel tituloCpf = new JLabel(bundle.getString("criar.pessoafisica.titulo.cpf"));
    JLabel tituloRg = new JLabel(bundle.getString("criar.pessoafisica.titulo.rg"));
    JLabel tituloEndereco = new JLabel(bundle.getString("criar.pessoafisica.titulo.endereco"));
    JLabel tituloTelRes = new JLabel(bundle.getString("criar.pessoafisica.titulo.telResidencial"));
    JLabel tituloTelCelular = new JLabel(bundle.getString("criar.pessoafisica.titulo.telCelular"));
    JLabel tituloEmail = new JLabel(bundle.getString("criar.pessoafisica.titulo.email"));
    JLabel tituloPerfil = new JLabel(bundle.getString("criar.usuario.titulo.perfil"));
    JLabel tituloLogin = new JLabel(bundle.getString("criar.usuario.titulo.usuario"));
    JLabel tituloSenha = new JLabel(bundle.getString("criar.usuario.titulo.senha"));

    // Botoes e caixas de textos
    GerarCodigo gerarCodigo = new GerarCodigo("USUARIO");
    codigo = new JLabel(gerarCodigo.getCodigo());
    nome = new JTextField(bundle.getString("criar.pessoafisica.antes.nome"));
    sobrenome = new JTextField(bundle.getString("criar.pessoafisica.antes.sobrenome"));
    rg = new JTextField(bundle.getString("criar.pessoafisica.antes.rg"));
    endereco = new JTextField(bundle.getString("criar.pessoafisica.antes.endereco"));
    telResidencial = new JTextField(bundle.getString("criar.pessoafisica.antes.telResidencial"));
    telCelular = new JTextField(bundle.getString("criar.pessoafisica.antes.telCelular"));
    email = new JTextField(bundle.getString("criar.pessoafisica.antes.email"));
    login = new JTextField(bundle.getString("criar.usuario.antes.login"));
    senha = new JPasswordField();
    cadastrar = new JButton(bundle.getString("criar.usuario.botao.cadastrar"));
    imagemNascimento = new JLabel();
    alertaNascimento = new JLabel();
    imagemTelResidencial = new JLabel();
    alertaTelResidencial = new JLabel();
    imagemTelCelular = new JLabel();
    alertaTelCelular = new JLabel();

    Perfil[] val = Perfil.values();
    String[] perfis = new String[val.length];
    for (int i = 0; i < perfis.length; i++) {
      perfis[i] = val[i].setBundle(bundle);
    }

    DefaultComboBoxModel model = new DefaultComboBoxModel(perfis);
    perfil = new JComboBox(model);

    try {
      nascimento = new JFormattedTextField(new MaskFormatter("##/##/####"));
      cpf = new JFormattedTextField(new MaskFormatter("###.###.###-##"));
    } catch (ParseException e) {
      e.printStackTrace();
    }

    imagemCpf = new JLabel();
    alertaCpf = new JLabel();

    Font font = new Font("Century Gothic", Font.ITALIC, 13);
    nome.setFont(font);
    sobrenome.setFont(font);
    rg.setFont(font);
    endereco.setFont(font);
    telResidencial.setFont(font);
    telCelular.setFont(font);
    email.setFont(font);
    login.setFont(font);

    nome.setForeground(Color.GRAY);
    sobrenome.setForeground(Color.GRAY);
    rg.setForeground(Color.GRAY);
    endereco.setForeground(Color.GRAY);
    telResidencial.setForeground(Color.GRAY);
    telCelular.setForeground(Color.GRAY);
    email.setForeground(Color.GRAY);
    login.setForeground(Color.GRAY);

    senha.setDocument(new JTextFieldLimit(50));

    tituloCodigo.setBounds(60, 35, 100, 30);
    tituloNome.setBounds(60, 70, 200, 30);
    tituloSobrenome.setBounds(60, 105, 200, 30);
    tituloNascimento.setBounds(60, 140, 160, 30);
    tituloCpf.setBounds(60, 175, 40, 30);
    tituloRg.setBounds(60, 210, 40, 30);
    tituloEndereco.setBounds(60, 245, 100, 30);
    tituloTelRes.setBounds(60, 280, 140, 30);
    tituloTelCelular.setBounds(60, 315, 140, 30);
    tituloEmail.setBounds(60, 355, 160, 30);
    tituloPerfil.setBounds(60, 390, 80, 30);
    tituloLogin.setBounds(60, 425, 100, 30);
    tituloSenha.setBounds(60, 460, 100, 30);

    codigo.setBounds(200, 35, 100, 30);
    nome.setBounds(200, 70, 300, 30);
    sobrenome.setBounds(200, 105, 300, 30);
    nascimento.setBounds(200, 140, 180, 30);
    imagemNascimento.setBounds(390, 140, 180, 30);
    alertaNascimento.setBounds(415, 140, 180, 30);

    cpf.setBounds(200, 175, 180, 30);
    rg.setBounds(200, 210, 180, 30);
    endereco.setBounds(200, 245, 300, 30);
    telResidencial.setBounds(200, 280, 180, 30);
    imagemTelResidencial.setBounds(390, 280, 180, 30);
    alertaTelResidencial.setBounds(415, 280, 300, 30);
    telCelular.setBounds(200, 315, 180, 30);
    imagemTelCelular.setBounds(390, 315, 180, 30);
    alertaTelCelular.setBounds(415, 315, 300, 30);
    email.setBounds(200, 355, 300, 30);
    perfil.setBounds(200, 390, 250, 30);
    login.setBounds(200, 425, 230, 30);
    senha.setBounds(200, 460, 230, 30);
    cadastrar.setBounds(600, 460, 150, 30);

    alertaCpf.setBounds(410, 175, 100, 30);
    imagemCpf.setBounds(385, 175, 40, 30);

    conteudo.add(tituloCodigo);
    conteudo.add(tituloNome);
    conteudo.add(tituloSobrenome);
    conteudo.add(tituloNascimento);
    conteudo.add(tituloCpf);
    conteudo.add(tituloRg);
    conteudo.add(tituloEndereco);
    conteudo.add(tituloTelRes);
    conteudo.add(tituloTelCelular);
    conteudo.add(tituloEmail);
    conteudo.add(tituloPerfil);
    conteudo.add(tituloLogin);
    conteudo.add(tituloSenha);

    conteudo.add(codigo);
    conteudo.add(nome);
    conteudo.add(sobrenome);
    conteudo.add(nascimento);
    conteudo.add(imagemNascimento);
    conteudo.add(alertaNascimento);
    conteudo.add(cpf);
    conteudo.add(rg);
    conteudo.add(endereco);
    conteudo.add(telResidencial);
    conteudo.add(telCelular);
    conteudo.add(email);
    conteudo.add(perfil);
    conteudo.add(login);
    conteudo.add(senha);
    conteudo.add(cadastrar);

    conteudo.repaint();
    conteudo.validate();
  }

  // Listeners
  protected void addCadastrarListener(ActionListener a) {
    cadastrar.addActionListener(a);
  }

  protected void addFocusListener(FocusListener a) {
    nome.addFocusListener(a);
    sobrenome.addFocusListener(a);
    rg.addFocusListener(a);
    endereco.addFocusListener(a);
    telResidencial.addFocusListener(a);
    telCelular.addFocusListener(a);
    email.addFocusListener(a);
    login.addFocusListener(a);

    ((FocusTextField) a).setField(
        nome, sobrenome, rg, endereco, telResidencial,
        telCelular, email, login);

    ((FocusTextField) a).setText(
        bundle.getString("criar.pessoafisica.antes.nome"),
        bundle.getString("criar.pessoafisica.antes.sobrenome"),
        bundle.getString("criar.pessoafisica.antes.rg"),
        bundle.getString("criar.pessoafisica.antes.endereco"),
        bundle.getString("criar.pessoafisica.antes.telResidencial"),
        bundle.getString("criar.pessoafisica.antes.telCelular"),
        bundle.getString("criar.pessoafisica.antes.email"),
        bundle.getString("criar.usuario.antes.login"));
  }

  protected void addFocusDataListener(FocusListener a) {
    nascimento.addFocusListener(a);
  }

  protected void addFocusCpfListener(FocusListener a) {
    cpf.addFocusListener(a);
  }

  protected void addFocusTelResListener(FocusListener a) {
    telResidencial.addFocusListener(a);
  }

  protected void addFocusTelCelListener(FocusListener a) {
    telCelular.addFocusListener(a);
  }

  // Getters
  protected String getCountry() {
    return bundle.getString("country");
  }

  protected JTextField getCpf() {
    return cpf;
  }

  protected JTextField getTelResidencial() {
    return telResidencial;
  }

  protected JTextField getTelCelular() {
    return telCelular;
  }

  protected String getTextTelResidencial() {
    return bundle.getString("criar.pessoafisica.antes.telResidencial");
  }

  protected String getTextTelCelular() {
    return bundle.getString("criar.pessoafisica.antes.telCelular");
  }

  protected RequestParamWrapper getParameters() {
    Perfil[] val = Perfil.values();
    Perfil item = val[perfil.getSelectedIndex()];

    RequestParamWrapper request = new RequestParamWrapper();
    request.set("codigo", codigo.getText());
    request.set("nome", nome.getText());
    request.set("sobrenome", sobrenome.getText());
    request.set("nascimento", nascimento.getText());
    request.set("cpf", cpf.getText());
    request.set("rg", rg.getText());
    request.set("endereco", endereco.getText());
    request.set("telResidencial", telResidencial.getText());
    request.set("telCelular", telCelular.getText());
    request.set("email", email.getText());
    request.set("perfil", item);
    request.set("login", login.getText());
    request.set("senha", String.valueOf(senha.getPassword()));
    return request;
  }

  protected RequestParamWrapper getTexts() {
    RequestParamWrapper request = new RequestParamWrapper();
    request.set("nome", bundle.getString("criar.pessoafisica.antes.nome"));
    request.set("sobrenome", bundle.getString("criar.pessoafisica.antes.sobrenome"));
    request.set("rg", bundle.getString("criar.pessoafisica.antes.rg"));
    request.set("endereco", bundle.getString("criar.pessoafisica.antes.endereco"));
    request.set("telResidencial", bundle.getString("criar.pessoafisica.antes.telResidencial"));
    request.set("telCelular", bundle.getString("criar.pessoafisica.antes.telCelular"));
    request.set("login", bundle.getString("criar.usuario.antes.login"));
    return request;
  }

  protected void addImageNascimentoValid() {
    FlightImageUI.add(imagemNascimento, alertaNascimento,
        bundle.getString("validade.valido"), bundle, conteudo);
    repaint();
  }

  protected void addImageNascimentoInvalid() {
    FlightImageUI.addError(imagemNascimento, alertaNascimento,
        bundle.getString("validade.invalido"), bundle, conteudo);
    repaint();
  }

  protected void addImageCpfValido() {
    FlightImageUI.add(imagemCpf, alertaCpf,
        bundle.getString("criar.pessoafisica.cpf.alerta.ok"), bundle, conteudo);
    repaint();
  }

  protected void addImageCpfInvalido() {
    FlightImageUI.addError(imagemCpf, alertaCpf,
        bundle.getString("criar.pessoafisica.cpf.alerta.erro"), bundle, conteudo);
    repaint();
  }

  protected void messageFailed() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("criar.voo.joption.tempo"),
        bundle.getString("criar.voo.joption.titulo"),
        JOptionPane.ERROR_MESSAGE);
  }

  // Adicionar titulo
  protected void messageOK() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("criar.usuario.sucesso"),
        "OK",
        JOptionPane.INFORMATION_MESSAGE);
  }

  protected void messageTelResidencialOk() {
    conteudo.remove(imagemTelResidencial);
    conteudo.remove(alertaTelResidencial);
    repaint();
  }

  protected void messageTelCelularOk() {
    conteudo.remove(imagemTelCelular);
    conteudo.remove(alertaTelCelular);
    repaint();
  }

  protected void messageTelResidencialParseExecption() {
    FlightImageUI.addError(imagemTelResidencial, alertaTelResidencial,
        bundle.getString("criar.usuario.erro.tel"), bundle, conteudo);
    repaint();
  }

  protected void messageTelCelularParseExecption() {
    FlightImageUI.addError(imagemTelCelular, alertaTelCelular,
        bundle.getString("criar.usuario.erro.tel"), bundle, conteudo);
    repaint();
  }

  // Adicionar titulo
  protected void messageCpfInvalidExecption() {
    JOptionPane.showMessageDialog(null, bundle.getString("criar.pessoafisica.cpf.alerta.erro"));
  }

  // Adicionar titulo
  protected void messageUsuarioExistente() {
    JOptionPane.showMessageDialog(null, bundle.getString("criar.usuario.erro"),
        "",
        JOptionPane.ERROR_MESSAGE);
  }

  protected void addMessageFailed() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("dadoincorreto"),
        "flight",
        JOptionPane.ERROR_MESSAGE);
  }

  protected void disableButtons() {
    atualizar.setEnabled(false);
    deletar.setEnabled(false);
  }

  protected void refresh() {
    conteudo.removeAll();
    repaint();
  }

  protected void repaint() {
    conteudo.validate();
    conteudo.repaint();
  }

}
TOP

Related Classes of br.com.moonjava.flight.view.usuario.CriarUsuarioUI

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.