04.06.2008 | 22:12:22
immagine
Ing. Emanuele Scapin

Java, es2, interfaccia gestione veicoli
  • Gestione con interfaccia grafica della lista di veicoli, con inserimento, cancellazione, visualizzazione (con eventuale modifica dei dati).

     

  • Definizione dell'oggetto GestioneVeicoli, il main del progetto.
    Ricordare che il metodo show è classificato obsoleto e sarebbe preferibile usare setVisible.

    package gestioneveicoli;
    
    public class GestioneVeicoli {
    
        public static void main(String[] args) {
            mainForm f = new mainForm();
            f.show();
        }
    }
            
  • Definizione dell'oggetto mainForm, finestra principale che contiene la lista che visualizza l'elenco dei mezzi catalogati.
    I metodi initComponents e main sono stati omessi.

    package gestioneveicoli;
    
    public class mainForm extends javax.swing.JFrame {
    
        private Veicoli lista = new Veicoli();
    
        public mainForm() {
            initComponents();
            
            // all'avvio presento almeno due veicoli
            Veicolo v1 = new Veicolo("AB999XX");
            lista.add(v1);
            lstVeicoli.add(v1.targa);
            Veicolo v2 = new Veicolo("CC000AA");
            lista.add(v2); 
            lstVeicoli.add(v2.targa);
        }
    
        private void btnEsciActionPerformed(java.awt.event.ActionEvent evt) {                                        
            System.exit(0);
        }                                       
    
        private void btnInserisciActionPerformed(java.awt.event.ActionEvent evt) {                                             
            VeicoloDlg dlg = new VeicoloDlg(this, true);
            dlg.show();
            // mi faccio dare il nuovo veicolo ...
            Veicolo v = dlg.getVeicolo();
            if (v != null) {
                // ... e lo inserisco nelle liste
                lista.add(v);
                lstVeicoli.add(v.targa);
            }
        }                                            
    
        private void btnCancellaActionPerformed(java.awt.event.ActionEvent evt) {                                            
            int ind = lstVeicoli.getSelectedIndex();
            if (ind > -1) {
                // rimuovo il veicolo selezionato nella lista
                lstVeicoli.remove(ind);
                lista.remove(ind);
            }
        }                                           
    
        private void btnVisualizzaActionPerformed(java.awt.event.ActionEvent evt) {                                              
            int ind = lstVeicoli.getSelectedIndex();
            if (ind > -1) {          
                Veicolo v = lista.get(ind);
                VeicoloDlg dlg = new VeicoloDlg(this, true, v);
                dlg.show(); 
                // mi faccio dare il veicolo, 
                // potrebbe essere stato modificato nei suoi dati, ...
                v = dlg.getVeicolo();
                if (v != null) {
                    // ... e lo sostituisco nella lista dei dati
                    lista.clone(ind, v);
                    // rimpiazzo nelle lista a video
                    lstVeicoli.replaceItem(v.targa, ind);
                }            
            }
        }                                             
    
        // Variables declaration - do not modify                     
        private javax.swing.JButton btnCancella;
        private javax.swing.JButton btnEsci;
        private javax.swing.JButton btnInserisci;
        private javax.swing.JButton btnVisualizza;
        private javax.swing.JLabel jLabel1;
        private java.awt.List lstVeicoli;
        // End of variables declaration                   
    }
    
            
  • Definizione dell'oggetto VeicoloDlg, oggetto dialog che serve da finestra sencodaria per la visualizzazione e per l'inserimento dei dati di un singolo veicolo.
    I metodi initComponents e main sono stati omessi.

    package gestioneveicoli;
    
    import javax.swing.JOptionPane;
    
    /**
     *
     * @author escapin
     */
    public class VeicoloDlg extends javax.swing.JDialog {
    
        private Veicolo v;
        /**
         * Creates new form VeicoloDlg
         */
        public VeicoloDlg(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();        
        }
     
        // Costruttore che mi permette di passare i dati del veicolo che deve
        // essere visualizzato.   
        public VeicoloDlg(java.awt.Frame parent, boolean modal, Veicolo v) {
            super(parent, modal);
            initComponents(); 
            this.v = v;
            txtTarga.setText(v.targa);
            txtTelaio.setText(v.telaio);
            txtAnnoImm.setText(String.valueOf(v.annoimmatricolazione));
            txtProvincia.setText(v.provincia);
        }    
        
        public void setVeicolo(Veicolo v) {
            this.v = v;
        }
        
        public Veicolo getVeicolo() {
            return v;
        }                         
    
        private void btnEsciActionPerformed(java.awt.event.ActionEvent evt) {                                        
            this.setVisible(false);
        }                                       
    
        private void btnSalvaActionPerformed(java.awt.event.ActionEvent evt) {                                         
            boolean b = false;
            String t = txtTarga.getText();
            v = new Veicolo(t);
            t = txtTelaio.getText();
            v.telaio = t;
            t = txtProvincia.getText();
            v.provincia = t;
            t = txtAnnoImm.getText();
            
            if (t.length() > 0) {
                try {
                  v.annoimmatricolazione = Integer.parseInt(t);
                }
                catch(Exception ex) {
                  b = true;
                  JOptionPane.showMessageDialog(null, "Anno non corretto. " + ex.getMessage());
                }
            }
            
            this.setVisible(b);
        }                                        
    
        // Variables declaration - do not modify                     
        private javax.swing.JButton btnEsci;
        private javax.swing.JButton btnSalva;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel5;
        private javax.swing.JTextField txtAnnoImm;
        private javax.swing.JTextField txtProvincia;
        private javax.swing.JTextField txtTarga;
        private javax.swing.JTextField txtTelaio;
        // End of variables declaration                   
    }
    
            
  •  

     


© Emanuele Scapin 2009-2013

 

Valid HTML 4.01! Valid CSS!