Package br.com.moonjava.flight.view.aeronave

Source Code of br.com.moonjava.flight.view.aeronave.CriarAeronaveUI

/*
* 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.aeronave;

import java.awt.Color;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionListener;
import java.awt.event.FocusListener;
import java.io.IOException;
import java.io.InputStream;
import java.util.ResourceBundle;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

import br.com.moonjava.flight.util.FlightImageUI;
import br.com.moonjava.flight.util.GerarCodigo;
import br.com.moonjava.flight.util.RequestParamWrapper;

/**
* @version 1.0 Apr 10, 2012
* @contact tiago.aguiar@moonjava.com.br
*
*/
public class CriarAeronaveUI {

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

  private JTextField nome;
  private JTextField assento;
  private JLabel codigo;
  private JLabel imagem;
  private JButton mapa;
  private JButton cadastrar;
  private JLabel imagemAssento;
  private JLabel alertaAssento;

  protected CriarAeronaveUI(
                            JPanel conteudo,
                            ResourceBundle bundle,
                            JButton atualizar,
                            JButton deletar) {
    this.conteudo = conteudo;
    this.bundle = bundle;
    this.atualizar = atualizar;
    this.deletar = deletar;

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

  private void mainMenu() {
    // Titulos
    JLabel tituloCodigo = new JLabel(bundle.getString("criar.aeronave.titulo.codigo"));
    JLabel tituloNome = new JLabel(bundle.getString("criar.aeronave.titulo.nome"));
    JLabel tituloAssento = new JLabel(bundle.getString("criar.aeronave.titulo.assento"));
    JLabel tituloMapa = new JLabel(bundle.getString("criar.aeronave.titulo.mapa"));

    // Mensagens para possiveis erros
    JLabel alertaMapa = new JLabel(bundle.getString("criar.aeronave.alerta.mapa"));
    alertaMapa.setFont(new Font("Arial", Font.BOLD, 13));
    alertaMapa.setForeground(Color.BLACK);

    String _codigo = new GerarCodigo("AERONAVE").getCodigo();
    codigo = new JLabel(_codigo);
    nome = new JTextField();
    assento = new JTextField();
    imagemAssento = new JLabel();
    alertaAssento = new JLabel();

    // Botoes inserir imagem e cadastrar
    mapa = new JButton(bundle.getString("criar.aeronave.botao.mapa"));
    cadastrar = new JButton(bundle.getString("criar.aeronave.botao.cadastrar"));

    // Adicionar icone ao inserir mapa de assento
    InputStream stream = getClass().getResourceAsStream("/img/icon_disponivel.png");
    Image image = null;

    try {
      image = ImageIO.read(stream);
    } catch (IOException e1) {
      e1.printStackTrace();
    }

    ImageIcon icon = new ImageIcon(image);
    imagem = new JLabel(icon);

    tituloCodigo.setBounds(60, 70, 200, 30);
    tituloNome.setBounds(60, 110, 200, 30);
    tituloAssento.setBounds(60, 150, 200, 30);
    tituloMapa.setBounds(60, 190, 200, 30);

    alertaMapa.setBounds(360, 190, 500, 30);

    codigo.setBounds(180, 70, 300, 30);
    nome.setBounds(180, 110, 300, 30);
    assento.setBounds(180, 150, 150, 30);
    imagemAssento.setBounds(350, 150, 150, 30);
    alertaAssento.setBounds(375, 150, 400, 30);
    imagem.setBounds(280, 190, 130, 30);
    mapa.setBounds(180, 190, 150, 30);
    cadastrar.setBounds(180, 240, 150, 30);

    conteudo.add(tituloCodigo);
    conteudo.add(tituloNome);
    conteudo.add(tituloAssento);
    conteudo.add(tituloMapa);

    conteudo.add(alertaMapa);

    conteudo.add(codigo);
    conteudo.add(nome);
    conteudo.add(assento);
    conteudo.add(imagemAssento);
    conteudo.add(alertaAssento);
    conteudo.add(mapa);
    conteudo.add(cadastrar);

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

  protected void addImageAssentoValid() {
    FlightImageUI.add(imagemAssento, alertaAssento,
        bundle.getString("numero.valido"), bundle, conteudo);
    repaint();
  }

  protected void addImageAssentoInvalid() {
    FlightImageUI.addError(imagemAssento, alertaAssento,
        bundle.getString("alerta.numero"), bundle, conteudo);
    repaint();
  }

  protected void addFocusAssentoListener(FocusListener a) {
    assento.addFocusListener(a);
  }

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

  protected void addLoaderFileListener(ActionListener a) {
    mapa.addActionListener(a);
  }

  protected RequestParamWrapper getParameters() {
    RequestParamWrapper request = new RequestParamWrapper();
    request.set("codigo", codigo.getText());
    request.set("nome", nome.getText());
    request.set("qtdDeAssento", assento.getText());
    return request;
  }

  protected void addImagem() {
    conteudo.add(imagem);
    conteudo.validate();
    conteudo.repaint();
  }

  protected void messageOK() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("criar.joption.ok"),
        bundle.getString("criar.joption.titulo"),
        JOptionPane.INFORMATION_MESSAGE);

    refresh();
  }

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

    refresh();
  }

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

  protected void messageNumberException() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("alerta.numero"),
        bundle.getString("criar.joption.titulo"),
        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.aeronave.CriarAeronaveUI

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.