Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
RubricEnric Java - rubricaRelase1.java

rubricaRelase1.java

Caricato da: Mutelg
Scarica il programma completo

  1. /**
  2.  * Autore :Alenadri Enrico
  3.  * Classe : III G
  4.  * Data :  5/02/2009
  5.  * Nome File:  rubrica.java
  6.  */
  7.  
  8.  import javax.swing.*;
  9.  import java.awt.*;
  10.  import java.awt.event.*;
  11.  import java.io.*;
  12.  
  13.  
  14.  public class rubrica{
  15.  
  16.         public static void main(String[] args)
  17.      {
  18.          int xLoc=400,   //posizione x dei frame nello schermo
  19.              yLoc=400;   //posizione y dei frame nello schermo
  20.  
  21.  
  22.      framePri frame = new framePri(xLoc,yLoc);
  23.      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  24.      frame.show();
  25.      }
  26.  }
  27.  
  28.  
  29.  class panelInserimento extends JPanel implements ActionListener
  30.  {
  31.    private boolean exist=true;
  32.    private int x=0,
  33.                num=0,
  34.                        linee=0;
  35.    private String nameRub,
  36.                   linea;
  37.    private TextField inNome,
  38.                      inCognome,
  39.                      inNumero,
  40.                      inIndirizzo,
  41.                      inNameRub;
  42.  
  43.    private FileOutputStream fileS;
  44.    private FileReader fileL;
  45.    private File exFile;
  46.    private PrintStream scrittura;
  47.    private BufferedReader lettura;
  48.  
  49.    private JLabel testoIns,
  50.                   testoStp,
  51.                   nome,
  52.                   Congome,
  53.                   Numero,
  54.                   Indirizzo,
  55.                   index,
  56.                   spazio,
  57.                   stmNome,
  58.                   stmCognome,
  59.                   stmNumero,
  60.                   stmIndirizzo;
  61.    private JButton ok,
  62.                    reset,
  63.                    savExit,
  64.                    invio,
  65.                    invio_,
  66.                    indIns,
  67.                    indStp,
  68.                    avanti,
  69.                    back,
  70.                    indietro,
  71.                    exit;
  72.    public panelInserimento()
  73.     {
  74.  
  75.      exit = new JButton("esci");
  76.      spazio= new JLabel("                              ");
  77.  
  78.      //Componenti Index
  79.          index = new JLabel("       Cosa vuoi fare?                                    ");
  80.          indIns = new JButton("Crea rubrica");
  81.          indStp = new JButton("Visualizza contatti");
  82.  
  83.  
  84.  
  85.  
  86.      //Componenti inserimento nome Rubrica-inserimento scherda/stampa scheda
  87.          testoIns = new JLabel("Inserisci il nome con cui salvare la rubrica        ");
  88.          testoStp = new JLabel("Inserisci il nome della rubrica        ");
  89.          inNameRub = new TextField(10);
  90.          invio = new JButton("Invio");
  91.          invio_ = new JButton("Invio ");
  92.  
  93.          //Componenti inserimento scheda
  94.           nome = new JLabel("                Nome");
  95.           Congome = new JLabel("                Cognome");
  96.           Numero = new JLabel("                Numero Casa");
  97.           Indirizzo = new JLabel("                Indirizzo");
  98.           ok = new JButton("Add");
  99.           reset = new JButton("Reset");
  100.           savExit = new JButton("Save & Back");
  101.           inNome = new TextField(17);
  102.           inCognome = new TextField(17);
  103.           inNumero = new TextField(17);
  104.           inIndirizzo = new TextField(17);
  105.  
  106.      //Componenti stampa Scheda
  107.      stmNome = new JLabel("Nome:");
  108.      stmCognome = new JLabel("Cognome:");
  109.      stmNumero = new JLabel("Numero:");
  110.      stmIndirizzo = new JLabel("Indirizzo");
  111.      avanti = new JButton(">>");
  112.      back = new JButton("back");
  113.      indietro = new JButton("<<");
  114.  
  115.  
  116.  
  117.      add(stmNome);
  118.      add(stmCognome);
  119.      add(stmNumero);
  120.      add(stmIndirizzo);
  121.      add(indietro);
  122.      add(back);
  123.      add(avanti);
  124.      indietro.setEnabled(false);
  125.  
  126.      avanti.addActionListener(this);
  127.      back.addActionListener(this);
  128.      indietro.addActionListener(this);
  129.  
  130.       nameRub = inNameRub.getText();
  131.  
  132.  
  133.       add(index);
  134.       add(indIns);
  135.       add(indStp);
  136.       add(exit);
  137.       add(spazio);
  138.  
  139.       indIns.addActionListener(this);
  140.       indStp.addActionListener(this);
  141.       exit.addActionListener(this);
  142.  
  143.       add(testoStp);
  144.           add(testoIns);
  145.           add(inNameRub);
  146.           add(invio);
  147.           add(invio_);
  148.           invio.addActionListener(this);
  149.           invio_.addActionListener(this);
  150.  
  151.  
  152.           add(nome);
  153.           add(inNome);
  154.           add(Congome);
  155.           add(inCognome);
  156.           add(Numero);
  157.           add(inNumero);
  158.           add(Indirizzo);
  159.           add(inIndirizzo);
  160.           add(ok);
  161.           add(reset);
  162.           add(savExit);
  163.  
  164.           pannelloInput(false);
  165.           pannelloOutput(false);
  166.           pannelloRubIns(false);
  167.  
  168.  
  169.           ok.addActionListener(this);
  170.           reset.addActionListener(this);
  171.           savExit.addActionListener(this);
  172.  
  173.  
  174.          }
  175.     public void actionPerformed(ActionEvent evt)
  176.                      {
  177.                            String nome = inNome.getText();
  178.                            String cognome = inCognome.getText();
  179.                            String numero = inNumero.getText();
  180.                            String indirizzo = inIndirizzo.getText();
  181.                            String nameRub = inNameRub.getText();
  182.                boolean test;
  183.  
  184.                            String command = evt.getActionCommand();
  185.                            command = command.toLowerCase();
  186.                          if(command.equals("<<"))
  187.                                                     {
  188.                                                           if(num>0)
  189.                                                             {
  190.                                                                  num--;
  191.                                                                  avanti.setEnabled(true);
  192.                                                             }
  193.  
  194.                                                       if(num==0)
  195.                                                          indietro.setEnabled(false);
  196.  
  197.                                                            letturaFile(nameRub);
  198.                                                        stampa();
  199.                                 }
  200.                          if(command.equals(">>"))
  201.                             {
  202.                                   if((num+1)*4<linee)
  203.                                     {
  204.                                          num++;
  205.                                          indietro.setEnabled(true);
  206.                                     }
  207.                               if((num+1)*4==linee)
  208.                                  avanti.setEnabled(false);
  209.  
  210.                                          letturaFile(nameRub);
  211.                                  stampa();
  212.                                 }
  213.                          if(command.equals("back"))
  214.                             {
  215.                   num=0;
  216.  
  217.                                  pannelloInput(false);
  218.                                  pannelloRubIns(false);
  219.                                  pannelloRubStp(false);
  220.                                  pannelloIndex(true);
  221.                      pannelloOutput(false);
  222.  
  223.                                 }
  224.                  if(command.equals("add"))
  225.                     {
  226.                                 try{
  227.                                  scrittura.println(nome);
  228.                                  scrittura.println(cognome);
  229.                                  scrittura.println(numero);
  230.                                  scrittura.println(indirizzo);
  231.                   }catch(NullPointerException ex)
  232.                    {
  233.                         System.out.println("File insesistente...                        ");
  234.                      }
  235.                      reset();
  236.  
  237.                             }
  238.  
  239.                           if(command.equals("invio"))
  240.                                                     {
  241.                                                                 test=true;
  242.  
  243.                                               if(nameRub.equals(""))
  244.                                                    test=false;
  245.                                                      exFile = new File(nameRub);
  246.                                                      if( ((exFile).exists()) || (test==false))
  247.                                                        {
  248.                                                         inNameRub.setText("");
  249.                                                         if(test==false)
  250.                                                            testoIns.setText("Nome File non corretto.Riprova                        ");
  251.                                                         else
  252.  
  253.                                                            testoIns.setText("File già esistente. Riprova                         ");
  254.                                                                     }
  255.                                                                  else
  256.                                                                    {
  257.  
  258.                                                                    pannelloRubIns(false);
  259.                                                    pannelloInput(true);
  260.                                                     try{
  261.                                                                              fileS = new FileOutputStream(nameRub);
  262.                                                                              scrittura = new PrintStream(fileS);
  263.                                                                         }catch(FileNotFoundException ex)
  264.                                                                         {
  265.                                                                            System.out.println("Errore in lettura File...");
  266.                                                         }
  267.  
  268.                                                                    }
  269.  
  270.  
  271.                                 }
  272.  
  273.                                 if(command.equals("invio "))
  274.                                                             {
  275.                                                                         test=true;
  276.  
  277.                                                     if(nameRub.equals(""))
  278.                                                          test=false;
  279.                                                              exFile = new File(nameRub);
  280.                                                              if( ((exFile).exists()) && (test==true))
  281.                                                                {
  282.                                                                                 letturaFile(nameRub);
  283.                                                                                 stampa();
  284.                                                                             pannelloRubStp(false);
  285.                                                             pannelloOutput(true);
  286.  
  287.                                                                 }
  288.                                                                          else
  289.                                                                            {
  290.                                                                                 inNameRub.setText("");
  291.                                                                 if(test==false)
  292.                                                                    testoStp.setText("Nome File non corretto.Riprova!                       ");
  293.                                                                 else
  294.  
  295.                                                                    testoStp.setText("File non esistente. Riprova!                        ");
  296.                                                                             }
  297.  
  298.  
  299.                                 }
  300.  
  301.                       if(command.equals("reset"))
  302.                         {
  303.                                  reset();
  304.                                 }
  305.                      if(command.equals("save & back"))
  306.                         {
  307.                      pannelloInput(false);
  308.                      pannelloRubIns(false);
  309.                      pannelloRubStp(false);
  310.                      pannelloIndex(true);
  311.                      pannelloOutput(false);
  312.                             }
  313.                      if(command.equals("esci"))
  314.                         {
  315.                      System.exit(0);
  316.                             }
  317.                           if(command.equals("crea rubrica"))
  318.                             {
  319.                      pannelloRubIns(true);
  320.                      pannelloIndex(false);
  321.                                 }
  322.                           if(command.equals("visualizza contatti"))
  323.                             {
  324.                 pannelloRubStp(true);
  325.                 pannelloIndex(false);
  326.                                 }
  327.  
  328.  
  329.                          }
  330.     void letturaFile(String nomeFile)
  331.        {
  332.                   int cont=0;
  333.                   linee=0;
  334.  
  335.       try{
  336.          fileL = new FileReader(nomeFile);
  337.          lettura = new BufferedReader(fileL);
  338.  
  339.          while( (linea = lettura.readLine()) != null )
  340.                 {
  341.                          linee++;
  342.                 }
  343.  
  344.          fileL = new FileReader(nomeFile);
  345.          lettura = new BufferedReader(fileL);
  346.  
  347.             while( cont<num*4 )
  348.                   {
  349.                            cont++;
  350.                            linea = lettura.readLine();
  351.                 }
  352.  
  353.      }catch(FileNotFoundException ex)
  354.          {
  355.           System.out.println("Errore in lettura file, Nessun file trovato!");
  356.          }
  357.          catch(IOException ex)
  358.          {
  359.           System.out.println("Errore in lettura file..");
  360.          }
  361.  
  362.            }
  363.  
  364.         void stampa()
  365.           {
  366.         try{
  367.           linea = lettura.readLine();
  368.         stmNome.setText("                    Nome :  "+linea+"                                        ");
  369.  
  370.                   linea = lettura.readLine();
  371.             stmCognome.setText("                    Cognome :  "+linea+"                              ");
  372.  
  373.                   linea = lettura.readLine();
  374.         stmNumero.setText("                     Numero :  "+linea+"                              ");
  375.  
  376.                   linea = lettura.readLine();
  377.         stmIndirizzo.setText("                    Indirizzo :  "+linea+"                              ");
  378.     }catch(IOException ex)
  379.     {
  380.           System.out.println("Errore in stampa Dati File.....");
  381.         }catch(NullPointerException ex)
  382.         {
  383.       System.out.println("Nessun file ricevuto...");
  384.         }
  385.  
  386.           }
  387.  
  388.     void reset()
  389.       {
  390.                 inNome.setText("");
  391.                 inCognome.setText("");
  392.                 inNumero.setText("");
  393.                 inIndirizzo.setText("");
  394.           }
  395.  
  396.          void pannelloInput(boolean att)
  397.           {
  398.           nome.setVisible(att);
  399.           inNome.setVisible(att);
  400.           Congome.setVisible(att);
  401.           inCognome.setVisible(att);
  402.           Numero.setVisible(att);
  403.           inNumero.setVisible(att);
  404.           Indirizzo.setVisible(att);
  405.           inIndirizzo.setVisible(att);
  406.  
  407.           ok.setVisible(att);
  408.           reset.setVisible(att);
  409.           savExit.setVisible(att);
  410.  
  411.           }
  412.          void pannelloOutput(boolean att)
  413.           {
  414.        stmNome.setVisible(att);
  415.            stmCognome.setVisible(att);
  416.        stmNumero.setVisible(att);
  417.            stmIndirizzo.setVisible(att);
  418.            avanti.setVisible(att);
  419.            back.setVisible(att);
  420.        indietro.setVisible(att);
  421.           }
  422.           void pannelloRubIns(boolean att)
  423.            {
  424.                 testoStp.setVisible(false);
  425.             testoIns.setVisible(att);
  426.             inNameRub.setVisible(att);
  427.             invio.setVisible(att);
  428.             invio_.setVisible(false);
  429.            }
  430.  
  431.           void pannelloRubStp(boolean att)
  432.            {
  433.                 testoIns.setVisible(false);
  434.             testoStp.setVisible(att);
  435.             inNameRub.setVisible(att);
  436.             invio.setVisible(false);
  437.             invio_.setVisible(att);
  438.            }
  439.           void pannelloIndex(boolean att)
  440.            {
  441.  
  442.          index.setVisible(att);
  443.          indIns.setVisible(att);
  444.          indStp.setVisible(att);
  445.          exit.setVisible(att);
  446.          spazio.setVisible(att);
  447.        }
  448.  }
  449.  
  450.  
  451.  
  452.  
  453. class framePri extends JFrame
  454.  {
  455.     public framePri(int xLoc,int yLoc)
  456.     {
  457.  
  458.         setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
  459.         setTitle("Rubrica 1.0");
  460.         setResizable(false);
  461.         setLocation(xLoc,yLoc);
  462.         panelInserimento panelIns = new panelInserimento();
  463.         Container contentPane = getContentPane();
  464.         contentPane.add(panelIns);
  465.     }
  466.      public static final int DEFAULT_WIDTH =300 ;
  467.      public static final int DEFAULT_HEIGHT =200 ;
  468. }