Package br.com.moonjava.flight.view.checkin

Source Code of br.com.moonjava.flight.view.checkin.EfetuarCheckinUI

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

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

import javax.imageio.ImageIO;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;

import br.com.moonjava.flight.model.base.Passagem;
import br.com.moonjava.flight.util.AbstractFlightUI;
import br.com.moonjava.flight.util.ErrorSystem;
import br.com.moonjava.flight.util.JTextFieldLimit;
import br.com.moonjava.flight.util.RequestParamWrapper;
import br.com.moonjava.flight.view.passagem.PassagemTableModel;

/**
* @version 1.0 Sep 8, 2012
* @contact tiago.aguiar@moonjava.com.br
*
*/
public class EfetuarCheckinUI extends AbstractFlightUI {

  private final JPanel conteudo;
  private final ResourceBundle bundle;
  private JTextField _bilhete;
  private JButton consultar;
  private JButton finalizarCheckin;
  private JButton alocarAssento;
  private JTable tabela;
  private JDialog dialog;
  private JTextField _alocarAssento;
  private JScrollPane scroll;

  public EfetuarCheckinUI(JPanel conteudo, ResourceBundle bundle) {
    this.conteudo = conteudo;
    this.bundle = bundle;

    refresh();
    mainMenu();
  }

  @Override
  protected JPanel getConteudo() {
    return conteudo;
  }

  @Override
  protected void mainMenu() {
    Image image = null;
    InputStream stream = getClass().getResourceAsStream("/img/search.png");
    try {
      image = ImageIO.read(stream);
    } catch (IllegalArgumentException e) {
      ErrorSystem.addException(e, bundle);
    } catch (IOException e) {
      ErrorSystem.addException(e, bundle);
    }
    Icon _imagem = new ImageIcon(image);
    JLabel imagem = new JLabel(_imagem);

    JLabel filtroBilhete = new JLabel(bundle.getString("checkin.titulo.filtroBilhete"));

    _bilhete = new JTextField();
    consultar = new JButton(bundle.getString("checkin.consultar"));
    finalizarCheckin = new JButton(bundle.getString("checkin.finalizar"));
    alocarAssento = new JButton(bundle.getString("checkin.alocarAssento"));
    _alocarAssento = new JTextField();
    _alocarAssento.setDocument(new JTextFieldLimit(4));

    imagem.setBounds(0, 70, 30, 30);
    filtroBilhete.setBounds(30, 45, 200, 30);

    _bilhete.setBounds(30, 70, 80, 30);
    consultar.setBounds(120, 70, 100, 30);
    alocarAssento.setBounds(30, 225, 170, 30);
    _alocarAssento.setBounds(220, 225, 80, 30);
    finalizarCheckin.setBounds(30, 475, 100, 30);

    conteudo.add(imagem);
    conteudo.add(filtroBilhete);
    conteudo.add(_bilhete);
    conteudo.add(consultar);

    repaint();
  }

  protected RequestParamWrapper getParameters() {
    RequestParamWrapper request = new RequestParamWrapper();
    request.set("bilhete", _bilhete.getText());
    request.set("assento", _alocarAssento.getText());

    return request;
  }

  protected void addConsultarListener(ActionListener a) {
    consultar.addActionListener(a);
  }

  protected void addAlocarAssentoListener(ActionListener a) {
    alocarAssento.addActionListener(a);
  }

  protected void addFinalizarCheckinListener(ActionListener a) {
    finalizarCheckin.addActionListener(a);
  }

  protected void showSeatMap(String pathFile) {
    conteudo.add(alocarAssento);
    conteudo.add(_alocarAssento);

    Icon image = new ImageIcon(pathFile);
    int width = image.getIconWidth();
    int height = image.getIconHeight();

    JLabel label = new JLabel(image);

    dialog = new JDialog();
    dialog.add(label);
    dialog.setSize(width + 40, height + 40);
    dialog.setResizable(false);
    dialog.setVisible(true);

    repaint();
  }

  protected void showList(List<Passagem> passagens) {
    PassagemTableModel assentos = new PassagemTableModel(passagens, bundle);
    tabela = new JTable();
    tabela.setModel(assentos);
    tabela.setBorder(new LineBorder(Color.black));
    tabela.setGridColor(Color.black);
    tabela.setShowGrid(true);

    scroll = new JScrollPane();
    scroll.getViewport().setBorder(null);
    scroll.getViewport().add(tabela);
    scroll.setBounds(30, 265, 275, 200);
    scroll.setSize(275, 200);

    conteudo.add(scroll);

    repaint();
  }

  protected void messageAssentoOK() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("checkin.assento.ok"),
        bundle.getString("checkin.titulo"),
        JOptionPane.INFORMATION_MESSAGE);

    conteudo.add(finalizarCheckin);
    repaint();
  }

  protected void messageAssentoFailed() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("checkin.assento.failed"),
        bundle.getString("checkin.titulo"),
        JOptionPane.ERROR_MESSAGE);
  }

  protected void messageSolicitacaoErro() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("checkin.erro.solicitacao"),
        bundle.getString("checkin.titulo"),
        JOptionPane.ERROR_MESSAGE);
  }

  protected void messageOK() {
    JOptionPane.showMessageDialog(null,
        bundle.getString("checkin.finalizado"),
        bundle.getString("checkin.titulo"),
        JOptionPane.INFORMATION_MESSAGE);

    dialog.dispose();
    refresh();
  }

}
TOP

Related Classes of br.com.moonjava.flight.view.checkin.EfetuarCheckinUI

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.