/* * 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.voo; import java.awt.event.ActionListener; import java.awt.event.FocusListener; import java.text.ParseException; import java.util.ResourceBundle; 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.JTextField; import javax.swing.text.MaskFormatter; import br.com.moonjava.flight.util.FlightImageUI; import br.com.moonjava.flight.util.JTextFieldLimit; import br.com.moonjava.flight.util.RequestParamWrapper; /** * @version 1.0 Aug 21, 2012 * @contact tiago.aguiar@moonjava.com.br * */ public class AtualizarVooUI { private JPanel conteudo; protected ResourceBundle bundle; private JButton atualizar; private JButton deletar; private JButton status; private JLabel tituloPartida; private JLabel tituloChegada; private JLabel tituloObservacao; private JTextField observacao; private JComboBox timePartida; private JComboBox timeChegada; private JFormattedTextField partida; private JFormattedTextField chegada; private JButton enviar; private JLabel alertaPartida; private JLabel imagemPartida; private JLabel alertaChegada; private JLabel imagemChegada; public void setAttributes(JPanel conteudo, ResourceBundle bundle, JButton atualizar, JButton deletar, JButton status) { this.conteudo = conteudo; this.bundle = bundle; this.atualizar = atualizar; this.deletar = deletar; this.status = status; mainMenu(); } protected void mainMenu() { tituloPartida = new JLabel(bundle.getString("criar.voo.titulo.partida")); tituloChegada = new JLabel(bundle.getString("criar.voo.titulo.chegada")); tituloObservacao = new JLabel(bundle.getString("criar.voo.titulo.observacao")); imagemPartida = new JLabel(); alertaPartida = new JLabel(); imagemChegada = new JLabel(); alertaChegada = new JLabel(); observacao = new JTextField(); observacao.setDocument(new JTextFieldLimit(100)); enviar = new JButton(bundle.getString("atualizar.voo.botao.atualizar")); try { MaskFormatter mask = new MaskFormatter("##/##/#### ##:##"); partida = new JFormattedTextField(mask); chegada = new JFormattedTextField(mask); } catch (ParseException e1) { JOptionPane.showMessageDialog(null, e1.getMessage()); } tituloPartida.setBounds(100, 70, 200, 30); tituloChegada.setBounds(100, 110, 200, 30); tituloObservacao.setBounds(100, 150, 200, 30); alertaPartida.setBounds(485, 70, 500, 30); imagemPartida.setBounds(460, 70, 500, 30); alertaChegada.setBounds(485, 110, 500, 30); imagemChegada.setBounds(460, 110, 500, 30); partida.setBounds(250, 70, 200, 30); chegada.setBounds(250, 110, 200, 30); observacao.setBounds(250, 150, 400, 30); enviar.setBounds(250, 190, 150, 30); } protected String getCountry() { return bundle.getString("country"); } protected void addAtualizarListener(ActionListener a) { atualizar.addActionListener(a); } protected void addEnviarListener(ActionListener a) { enviar.addActionListener(a); } protected void addFocusDataPartidaListener(FocusListener a) { partida.addFocusListener(a); } protected void addFocusDataChegadaListener(FocusListener a) { chegada.addFocusListener(a); } protected RequestParamWrapper getParameters() { RequestParamWrapper request = new RequestParamWrapper(); String _observacao = observacao.getText(); if (_observacao.isEmpty()) { _observacao = "Motivo não fornecido"; } request.set("observacao", _observacao); request.set("partida", partida.getText()); request.set("chegada", chegada.getText()); if (getCountry().equals("US")) { request.set("timePartida", timePartida.getSelectedItem()); request.set("timeChegada", timeChegada.getSelectedItem()); } return request; } protected void messageFailed() { JOptionPane.showMessageDialog(null, bundle.getString("atualizar.voo.joption.err"), bundle.getString("atualizar.voo.joption.titulo"), JOptionPane.ERROR_MESSAGE); } protected void messageOK() { JOptionPane.showMessageDialog(null, bundle.getString("atualizar.voo.joption.ok"), bundle.getString("atualizar.voo.joption.titulo"), JOptionPane.INFORMATION_MESSAGE); } protected void messageTimeException() { JOptionPane.showMessageDialog(null, bundle.getString("criar.voo.joption.tempo"), bundle.getString("atualizar.voo.joption.titulo"), JOptionPane.ERROR_MESSAGE); } protected void showAll() { conteudo.add(tituloPartida); conteudo.add(tituloChegada); conteudo.add(tituloObservacao); conteudo.add(alertaPartida); conteudo.add(partida); conteudo.add(chegada); conteudo.add(observacao); conteudo.add(enviar); if (getCountry().equals("US")) { alertaPartida.setBounds(520, 70, 500, 30); String[] ampm = { "AM", "PM" }; timePartida = new JComboBox(ampm); timeChegada = new JComboBox(ampm); timePartida.setBounds(455, 75, 60, 20); timeChegada.setBounds(455, 115, 60, 20); conteudo.add(timePartida); conteudo.add(timeChegada); } conteudo.repaint(); conteudo.validate(); } protected void addImagePartidaValid() { FlightImageUI.add(imagemPartida, alertaPartida, bundle.getString("validade.valido"), bundle, conteudo); repaint(); } protected void addImageChegadaValid() { FlightImageUI.add(imagemChegada, alertaChegada, bundle.getString("validade.valido"), bundle, conteudo); repaint(); } protected void addImagePartidaInvalid() { FlightImageUI.addError(imagemPartida, alertaPartida, bundle.getString("validade.invalido"), bundle, conteudo); repaint(); } protected void addImageChegadaInvalid() { FlightImageUI.addError(imagemChegada, alertaChegada, bundle.getString("alerta.data"), bundle, conteudo); repaint(); } protected void disableButtons() { atualizar.setEnabled(false); deletar.setEnabled(false); status.setEnabled(false); } protected void addMessageFailed() { JOptionPane.showMessageDialog(null, bundle.getString("dadoincorreto"), "flight", JOptionPane.ERROR_MESSAGE); } protected void refresh() { conteudo.removeAll(); repaint(); } protected void repaint() { conteudo.repaint(); conteudo.validate(); } }