Package fr.yogourt.swing

Source Code of fr.yogourt.swing.AfficheAdrx400

package fr.yogourt.swing;

import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.SystemColor;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.JTextPane;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;

import com.jcraft.jsch.JSchException;

import fr.yogourt.controleur.AbstractControler;
import fr.yogourt.controleur.AdresseControleur;
import fr.yogourt.model.AbstractModel;
import fr.yogourt.model.AdresseX400;
import fr.yogourt.model.Observateur;

public class AfficheAdrx400 extends JFrame implements Observateur {

  private static final long serialVersionUID = 1L;
  protected static final String GuiExecutor = null;
  protected Clipboard clipbd;
  private JPanel jContentPane;
  private JTextField adressejTextField;
  private JButton chercherjButton;
  private JTextPane resultatProdjTextPane;
  private JTextPane resultatTestjTextPane;
  private JLabel testjLabel;

  public String reponse215;
  public String gln;
  private JMenuBar jJMenuBar;
  private JMenu jMenuFichier;
  private JMenuItem jMenuItemColler;
  private JMenuItem jMenuItemCopier;
  private JMenu jMenuAPropos;
  private JMenuItem jMenuItemQuitter;
  private JMenuItem jMenuItemAPropos;
  private JScrollPane resultatjScrollPane;
  private DataTable data; 
  private JTable resultatjTable;
  private JLabel rechAdrjLabel;
  private JPanel jContentPane1;
  private JPanel jContentPane2;
  private JPanel jContentPane3;
  private JPanel jContentPane4;
  private JLabel tableauJLabel;
  private JLabel prodjLabel;
  private JPanel contentPane;
  private AbstractControler controler;
  private static AfficheAdrx400 frame;

 
  private JTextField getAdressejTextField() {
    if (adressejTextField == null) {
      adressejTextField = new JTextField();
      adressejTextField.setPreferredSize(new Dimension(300, 20));
      adressejTextField.setHorizontalAlignment(JTextField.LEFT);
      adressejTextField.addActionListener(new RechercheListener());
    }
    return adressejTextField;
  }

  /**
   * This method initializes chercherjButton 
   *  
   * @return javax.swing.JButton 
   */
  private JButton getChercherjButton() {
    if (chercherjButton == null) {
      chercherjButton = new JButton();
      chercherjButton.setText("Chercher");
      chercherjButton.setPreferredSize(new Dimension(90, 20));
      chercherjButton.addActionListener(new RechercheListener());
    }
    return chercherjButton;
  }
 
  private JTextPane getResultatProdjTextPane() {
    if (resultatProdjTextPane == null) {
      resultatProdjTextPane = new JTextPane();
      resultatProdjTextPane.setPreferredSize(new Dimension(760, 80));
    }
    return resultatProdjTextPane;
  }

  private JTextPane getResultatTestjTextPane() {
    if (resultatTestjTextPane == null) {
      resultatTestjTextPane = new JTextPane();
      resultatTestjTextPane.setPreferredSize(new Dimension(760, 80));
    }
    return resultatTestjTextPane;   
  }
 
  private JMenuBar getJJMenuBar() {
      if (jJMenuBar == null) {
    try {
        jJMenuBar = new JMenuBar();
        jJMenuBar.add(getJMenuFichier());
        jJMenuBar.add(getJMenuAPropos());
    } catch (java.lang.Throwable e) {}
      }
      return jJMenuBar;
  }

  private JMenu getJMenuFichier() {
      if (jMenuFichier == null) {
    try {
        jMenuFichier = new JMenu();
        jMenuFichier.setText("Fichier");
        jMenuFichier.add(getJMenuItemCopier());
        jMenuFichier.add(getJMenuItemColler());
        jMenuFichier.add(getJMenuItemQuitter());
    } catch (java.lang.Throwable e) {}
      }
      return jMenuFichier;
  }


  private JMenu getJMenuAPropos() {
      if (jMenuAPropos == null) {
    try {
        jMenuAPropos = new JMenu();
        jMenuAPropos.setText("A Propos");
        jMenuAPropos.add(getJMenuItemAPropos());
    } catch (java.lang.Throwable e) {}
      }
      return jMenuAPropos;
  }

  private JMenuItem getJMenuItemQuitter() {
      if (jMenuItemQuitter == null) {
    try {
        jMenuItemQuitter = new JMenuItem();
        jMenuItemQuitter.setText("Quitter");
        jMenuItemQuitter.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent e) {
                System.exit(0);
            }
        });
    } catch (java.lang.Throwable e) {}
      }
      return jMenuItemQuitter;
  }
 
  private JMenuItem getJMenuItemColler() {
      if (jMenuItemColler == null) {
    try {
        jMenuItemColler = new JMenuItem();
        jMenuItemColler.setText("Coller Gln");
        jMenuItemColler.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent e) {
                Transferable clipData = clipbd.getContents(AfficheAdrx400.this);
                try{
                  String clipString = (String)clipData.getTransferData(DataFlavor.stringFlavor);
                  adressejTextField.setText(clipString.trim());
                } catch(Exception ex) {
                  System.err.println("Not String flavor");
                }
            }
        });
    } catch (java.lang.Throwable e) {}
      }
      return jMenuItemColler;
  }
  private JMenuItem getJMenuItemCopier() {
      if (jMenuItemCopier == null) {
    try {
        jMenuItemCopier = new JMenuItem();
        jMenuItemCopier.setText("Copier Gln");       
        jMenuItemCopier.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent e) {
                String selection = adressejTextField.getText();
                if(selection == null)
                  return;
                StringSelection clipString = new StringSelection(selection);
                clipbd.setContents(clipString,clipString);
            }
        });
    } catch (java.lang.Throwable e) {}
      }
      return jMenuItemCopier;
  }
 
  private JMenuItem getJMenuItemAPropos() {
      if (jMenuItemAPropos == null) {
    try {
        jMenuItemAPropos = new JMenuItem();
        jMenuItemAPropos.setText("A Propos");
        jMenuItemAPropos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent e) {
                JOptionPane.showMessageDialog(contentPane,
                  "Recheche Adresse X400\n D�velopp� dans le cadre de Logilec.",
                  "A Propos",
                  JOptionPane.PLAIN_MESSAGE);
            }
        });
    } catch (java.lang.Throwable e) {}
      }
      return jMenuItemAPropos;
  }

  private JTable getResultatjTable() {           
      if (resultatjTable == null) {
    try {
        data = new DataTable();
        resultatjTable = new JTable(data);       
        resultatjTable.getColumnModel().getColumn(0).setPreferredWidth(100);
        resultatjTable.getColumnModel().getColumn(1).setPreferredWidth(100);
        resultatjTable.getColumnModel().getColumn(2).setPreferredWidth(90);
        resultatjTable.getColumnModel().getColumn(3).setPreferredWidth(400);
        resultatjTable.getColumnModel().getColumn(4).setPreferredWidth(10);
        resultatjTable.getColumnModel().getColumn(5).setPreferredWidth(30);
    } catch (java.lang.Throwable e) {}
      }
      return resultatjTable;
  }
 
 
  private JScrollPane getResultatjScrollPane() {
      if (resultatjScrollPane == null) {
    try {
        resultatjScrollPane = new JScrollPane();
        resultatjScrollPane.setPreferredSize(new Dimension(760, 300));
        resultatjScrollPane.setViewportView(getResultatjTable());
    } catch (java.lang.Throwable e) {}
      }
      return resultatjScrollPane;
  }

  private JPanel getJContentPane() {
    if (jContentPane == null) {
       
          rechAdrjLabel = new JLabel();
          rechAdrjLabel.setText("Adresse ou occurence recherch�e");
          rechAdrjLabel.setHorizontalAlignment(SwingConstants.CENTER);
          rechAdrjLabel.setPreferredSize(new Dimension(260, 20));
         
      testjLabel = new JLabel();
      testjLabel.setText("Adresse de Test");
      testjLabel.setHorizontalAlignment(SwingConstants.CENTER);
          testjLabel.setPreferredSize(new Dimension(760, 20));
         
      prodjLabel = new JLabel();
      prodjLabel.setText("Adresse de Production");
      prodjLabel.setHorizontalAlignment(SwingConstants.CENTER);
      prodjLabel.setPreferredSize(new Dimension(760, 20));
     
      tableauJLabel = new JLabel();
      tableauJLabel.setText("Tableau des R�sultats");
      tableauJLabel.setHorizontalAlignment(SwingConstants.CENTER);
      tableauJLabel.setPreferredSize(new Dimension(760, 20));
     
      jContentPane1 = new JPanel();
      jContentPane1.setPreferredSize(new Dimension(780, 30));
      jContentPane1.setBorder(BorderFactory.createLineBorder(SystemColor.inactiveCaption, 1));
      jContentPane1.add(rechAdrjLabel, null);
      jContentPane1.add(getAdressejTextField(), null);
      jContentPane1.add(getChercherjButton(), null);
     
      jContentPane2 = new JPanel();
      jContentPane2.setPreferredSize(new Dimension(780, 120));
      jContentPane2.setBorder(BorderFactory.createLineBorder(SystemColor.inactiveCaption, 1));
      jContentPane2.add(testjLabel, null);
      jContentPane2.add(getResultatTestjTextPane(), null);
     
      jContentPane3 = new JPanel();
      jContentPane3.setPreferredSize(new Dimension(780, 120));
      jContentPane3.setBorder(BorderFactory.createLineBorder(SystemColor.inactiveCaption, 1));
      jContentPane3.add(prodjLabel, null);
      jContentPane3.add(getResultatProdjTextPane(), null);
     
      jContentPane4 = new JPanel();
      jContentPane4.setPreferredSize(new Dimension(780, 345));
      jContentPane4.setBorder(BorderFactory.createLineBorder(SystemColor.inactiveCaption, 1));
      jContentPane4.add(tableauJLabel, null);
      jContentPane4.add(getResultatjScrollPane(), null);
     
      FlowLayout layout = new FlowLayout();
      jContentPane = new JPanel();
      jContentPane.add(jContentPane1);
      jContentPane.add(jContentPane2);
      jContentPane.add(jContentPane3);
      jContentPane.add(jContentPane4);
      jContentPane.setLayout(layout);
    }
    return jContentPane;
  }
 
  public static void main(String[] args) {
   
          Runnable gui = new Runnable() {
              public void run() {
            //Instanciation du mod�le
            AbstractModel model = null;
      model = new AdresseX400("");

      //Creation du controleur
      AbstractControler controler = new AdresseControleur(model);

      // Look and feel du system sur lequel est lanc� l'application
      try {
        UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
          }
      catch (Exception e) {}
     
      //creation de la fenetre
      frame = new AfficheAdrx400(controler);
      frame.setTitle("Recherche sur Service EDI");
     
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
      //ajout de la fenetre comme observer du modele
      model.addObservateur(frame);
           
              }
          };
          SwingUtilities.invokeLater(gui);
  }

  public AfficheAdrx400(AbstractControler controler) {
            this.controler = controler;
            this.initialize();
  }
 
  private void initialize(){   
      this.setContentPane(getJContentPane());
      this.setJMenuBar(getJJMenuBar());
      this.setSize(new Dimension(800, 760));
      clipbd = this.getToolkit().getSystemClipboard();
      this.setVisible(true);
  }
       
        //************************************************
        //  IMPLEMENTATION DU PATTERN OBSERVATEUR
        //************************************************

  public void update(List<AdresseX400> listeadr) {
      for (AdresseX400 adr:listeadr) {
    String message = adr.gln;
    if (adr.alias != "" && adr.alias.matches("[0-9]{13}")){
        message += " alias sur "+adr.alias;
    }
    else if (adr.alias != ""){
        message += " occurence recherch�e : "+adr.alias;
    }
    message += "\n"+adr.adresse;
    if (adr.tp == "Test") {
        resultatTestjTextPane.setText(message);
        data.addAdresse(adr);
        adressejTextField.setText("Recherche sur station de prod en cours !");
    }
    else {
        resultatProdjTextPane.setText(message);
        data.addAdresse(adr);
        adressejTextField.setText("");
    }
      }   
      adressejTextField.requestFocus();
  }
 
  //**********************************************
        //  LES LISTENERS POUR LE BOUTON Chercher
  //  et l'action de la touche Entr�e sur le champs de recherche
        //**********************************************
      
        class RechercheListener implements ActionListener{
            public void actionPerformed(ActionEvent arg0) {
          String str = adressejTextField.getText();
          adressejTextField.setText("Recherche sur station de Test en cours !");
              try {
        controler.recherche(str);
    } catch (JSchException e) {
        e.printStackTrace();
    }
            }              
        }
}
TOP

Related Classes of fr.yogourt.swing.AfficheAdrx400

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.