Messaggi d'errore registrazione

di il
60 risposte

60 Risposte - Pagina 4

  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    
    public void setMessaggiErrore(List<String> messaggiErrore) {
    		this.messaggiErrore = messaggiErrore;
    	}
    No, non deve essere un banale setter! Deve andare ad aggiornare il JList<String> visualmente.
    Ah ok...mentre per l'altro metodo va bene così:
    
      public void VisualizzazioneAvvisi(String string) {
    
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
           }
    
    mentre per il get
    	
    	public void setMessaggiErrore(List<String> messaggiErrore) {
    		DefaultListModel<String>  defaultListModel = new DefaultListModel<String>();
    		JList<String> listaErrori = new JList<>(defaultListModel);
    		getContentPane().add(listaErrori);
    		for(String errore: messaggiErrore) {
    			defaultListModel.addElement(errore);
    		  }	
    		}
    
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    Ah ok...mentre per l'altro metodo va bene così:
    
      public void VisualizzazioneAvvisi(String string) {
    
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
           }
    
    No, vedi la mia ipotesi di codice fatta prima.

    saraciao ha scritto:


    	
    	public void setMessaggiErrore(List<String> messaggiErrore) {
    		DefaultListModel<String>  defaultListModel = new DefaultListModel<String>();
    		JList<String> listaErrori = new JList<>(defaultListModel);
    		getContentPane().add(listaErrori);
    		for(String errore: messaggiErrore) {
    			defaultListModel.addElement(errore);
    		  }	
    		}
    
    No, non devi ricreare il JList (sì, si può fare ma è più scomodo, meglio di no) ma solo aggiornare il "modello" della lista.
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    Ah ok...mentre per l'altro metodo va bene così:
    
      public void VisualizzazioneAvvisi(String string) {
    
        	dialogErrore = new VisualizzazioneAvvisi(this,string);
        	dialogErrore.setVisible(true);
        	dialogErrore.setBounds(0, 0,360, 150);
    		dialogErrore.setLocationRelativeTo(menu);
           }
    
    No, vedi la mia ipotesi di codice fatta prima.

    saraciao ha scritto:


    	
    	public void setMessaggiErrore(List<String> messaggiErrore) {
    		DefaultListModel<String>  defaultListModel = new DefaultListModel<String>();
    		JList<String> listaErrori = new JList<>(defaultListModel);
    		getContentPane().add(listaErrori);
    		for(String errore: messaggiErrore) {
    			defaultListModel.addElement(errore);
    		  }	
    		}
    
    No, non devi ricreare il JList (sì, si può fare ma è più scomodo, meglio di no) ma solo aggiornare il "modello" della lista.
    così?
    
    	public void VisualizzazioneAvvisi(Arrays.asList(messaggio)) {
    	    
    		if (dialogErrore == null) {
    	        dialogErrore = new VisualizzazioneAvvisi(messaggio);     
    	        dialogErrore.setBounds(0, 0,360, 150);
    	        dialogErrore.setLocationRelativeTo(menu);
    	    }
    
    	    dialogErrore.setMessaggiErrore(messaggiErrore);    
    	    dialogErrore.setVisible(true);
    	}
    
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    così?
    
    	public void VisualizzazioneAvvisi(Arrays.asList(messaggio)) {
    	    
    		if (dialogErrore == null) {
    	        dialogErrore = new VisualizzazioneAvvisi(messaggio);     
    	        dialogErrore.setBounds(0, 0,360, 150);
    	        dialogErrore.setLocationRelativeTo(menu);
    	    }
    
    	    dialogErrore.setMessaggiErrore(messaggiErrore);    
    	    dialogErrore.setVisible(true);
    	}
    
    No, guarda cosa hai scritto tra ( ) del metodo, è tutto sbagliato così.
    E stai usando il costruttore VisualizzazioneAvvisi per passare il messaggio. No, basterebbe poi solo il setMessaggiErrore.

    Scusa ma mi sembra che stai andando avanti senza "ragionare" molto ....
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    così?
    
    	public void VisualizzazioneAvvisi(Arrays.asList(messaggio)) {
    	    
    		if (dialogErrore == null) {
    	        dialogErrore = new VisualizzazioneAvvisi(messaggio);     
    	        dialogErrore.setBounds(0, 0,360, 150);
    	        dialogErrore.setLocationRelativeTo(menu);
    	    }
    
    	    dialogErrore.setMessaggiErrore(messaggiErrore);    
    	    dialogErrore.setVisible(true);
    	}
    
    No, guarda cosa hai scritto tra ( ) del metodo, è tutto sbagliato così.
    E stai usando il costruttore VisualizzazioneAvvisi per passare il messaggio. No, basterebbe poi solo il setMessaggiErrore.

    Scusa ma mi sembra che stai andando avanti senza "ragionare" molto ....
    No no non capisco come devo farlo ma so che non era corretto
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    andbin ha scritto:


    saraciao ha scritto:


    così?
    
    	public void VisualizzazioneAvvisi(Arrays.asList(messaggio)) {
    	    
    		if (dialogErrore == null) {
    	        dialogErrore = new VisualizzazioneAvvisi(messaggio);     
    	        dialogErrore.setBounds(0, 0,360, 150);
    	        dialogErrore.setLocationRelativeTo(menu);
    	    }
    
    	    dialogErrore.setMessaggiErrore(messaggiErrore);    
    	    dialogErrore.setVisible(true);
    	}
    
    No, guarda cosa hai scritto tra ( ) del metodo, è tutto sbagliato così.
    E stai usando il costruttore VisualizzazioneAvvisi per passare il messaggio. No, basterebbe poi solo il setMessaggiErrore.

    Scusa ma mi sembra che stai andando avanti senza "ragionare" molto ....
    No no non capisco come devo farlo ma so che non era corretto. forse tu intendi così
    ctrl.VisualizzazioneAvvisi(Arrays.asList("Utente già presente"));
    Poi così è corretto:
    public void setMessaggiErrore(JList list, ArrayList objs)
        {
    		DefaultListModel listModel = (DefaultListModel)list.getModel();
            listModel.clear();
            for(int i=0; i<objs.size(); i++)
            {
                listModel.addElement((String)objs.get(i));
            }
        }
    		}
    
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    No no non capisco come devo farlo ma so che non era corretto. forse tu intendi così
    ctrl.VisualizzazioneAvvisi(Arrays.asList("Utente già presente"));
    Tecnicamente sì, ma così devi aggiornare tutti i punti in cui passi 1 solo messaggio. Si possono mettere 2 VisualizzazioneAvvisi in overload: uno con String, l'altro con List<String>. Il primo passa al secondo Arrays.asList(messaggio)

    saraciao ha scritto:


    Poi così è corretto:
    public void setMessaggiErrore(JList list, ArrayList objs)
    
    No, non hanno senso quei due parametri.

    OK, ti riscrivo io un pezzetto che è meglio (nella tua dialog la costruzione era pure "fumosa" e quel JPanel che creavi non lo usavi nemmeno).
    Attendi un attimo che poi aggiorno qui il post.


    CODICE DI ESEMPIO (non l'ho né compilato, né provato!)

    La classe della dialog:
    // metti i vari import necessari ......
    
    public class VisualizzazioneAvvisi extends JDialog {
        private static final long serialVersionUID = 1L;
    
        private Controller ctrl;       // Non so a cosa ti possa servire qui ma OK
        private DefaultListModel<String> defaultListModel;
    
        public VisualizzazioneAvvisi(Controller ctrl) {
            this.ctrl = ctrl;
            defaultListModel = new DefaultListModel<>();
    
            setBounds(new Rectangle(0, 13, 0, 0));
            setResizable(false);
            setForeground(new Color(255, 165, 0));
            setBackground(new Color(255, 165, 0));
            setBounds(100, 100, 329, 219);
    
            JList<String> listaErrori = new JList<>(defaultListModel);
            listaErrori.setBackground(Color.ORANGE);
            add(new JScrollPane(listaErrori));
    
            pack();
        }
    
        public void setMessaggiErrore(List<String> messaggiErrore) {
            defaultListModel.clear();
    
            for (String messaggioErrore : messaggiErrore) {
                defaultListModel.addElement(messaggioErrore);
            }
        }
    }

    Nel controller 2 "versioni" di VisualizzazioneAvvisi:
    public void VisualizzazioneAvvisi(String messaggioErrore) {
        VisualizzazioneAvvisi(Arrays.asList(messaggioErrore));
    }
    
    public void VisualizzazioneAvvisi(List<String> messaggiErrore) {
        if (dialogErrore == null) {
            dialogErrore = new VisualizzazioneAvvisi(this);    // passi solo il controller
            dialogErrore.setBounds(0, 0,360, 150);
            dialogErrore.setLocationRelativeTo(menu);
        }
    
        dialogErrore.setMessaggiErrore(messaggiErrore);
        dialogErrore.setVisible(true);
    }
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    No no non capisco come devo farlo ma so che non era corretto. forse tu intendi così
    ctrl.VisualizzazioneAvvisi(Arrays.asList("Utente già presente"));
    Tecnicamente sì, ma così devi aggiornare tutti i punti in cui passi 1 solo messaggio. Si possono mettere 2 VisualizzazioneAvvisi in overload: uno con String, l'altro con List<String>. Il primo passa al secondo Arrays.asList(messaggio)

    saraciao ha scritto:


    Poi così è corretto:
    public void setMessaggiErrore(JList list, ArrayList objs)
    
    No, non hanno senso quei due parametri.

    OK, ti riscrivo io un pezzetto che meglio (nella tua dialog la costruzione era pure "fumosa" e quel JPanel che creavi non lo usavi nemmeno).
    Attendi un attimo che poi aggiorno qui il post.


    CODICE DI ESEMPIO (non l'ho né compilato, né provato!)

    La classe della dialog:
    // metti i vari import necessari ......
    
    public class VisualizzazioneAvvisi extends JDialog {
        private static final long serialVersionUID = 1L;
    
        private Controller ctrl;       // Non so a cosa ti possa servire qui ma OK
        private DefaultListModel<String> defaultListModel;
    
        public VisualizzazioneAvvisi(Controller ctrl) {
            this.ctrl = ctrl;
            defaultListModel = new DefaultListModel<>();
    
            setBounds(new Rectangle(0, 13, 0, 0));
            setResizable(false);
            setForeground(new Color(255, 165, 0));
            setBackground(new Color(255, 165, 0));
            setBounds(100, 100, 329, 219);
    
            JList<String> listaErrori = new JList<>(defaultListModel);
            listaErrori.setBackground(Color.ORANGE);
            add(new JScrollPane(listaErrori));
    
            pack();
        }
    
        public void setMessaggiErrore(List<String> messaggiErrore) {
            defaultListModel.clear();
    
            for (String messaggioErrore : messaggiErrore) {
                defaultListModel.addElement(messaggioErrore);
            }
        }
    }

    Nel controller 2 "versioni" di VisualizzazioneAvvisi:
    public void VisualizzazioneAvvisi(String messaggioErrore) {
        VisualizzazioneAvvisi(Arrays.asList(messaggioErrore));
    }
    
    public void VisualizzazioneAvvisi(List<String> messaggiErrore) {
        if (dialogErrore == null) {
            dialogErrore = new VisualizzazioneAvvisi(this);    // passi solo il controller
            dialogErrore.setBounds(0, 0,360, 150);
            dialogErrore.setLocationRelativeTo(menu);
        }
    
        dialogErrore.setMessaggiErrore(messaggiErrore);
        dialogErrore.setVisible(true);
    }
    Ok ok grazie mille ho provato è mi funziona
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    No no non capisco come devo farlo ma so che non era corretto. forse tu intendi così
    ctrl.VisualizzazioneAvvisi(Arrays.asList("Utente già presente"));
    Tecnicamente sì, ma così devi aggiornare tutti i punti in cui passi 1 solo messaggio. Si possono mettere 2 VisualizzazioneAvvisi in overload: uno con String, l'altro con List<String>. Il primo passa al secondo Arrays.asList(messaggio)

    saraciao ha scritto:


    Poi così è corretto:
    public void setMessaggiErrore(JList list, ArrayList objs)
    
    No, non hanno senso quei due parametri.

    OK, ti riscrivo io un pezzetto che è meglio (nella tua dialog la costruzione era pure "fumosa" e quel JPanel che creavi non lo usavi nemmeno).
    Attendi un attimo che poi aggiorno qui il post.


    CODICE DI ESEMPIO (non l'ho né compilato, né provato!)

    La classe della dialog:
    // metti i vari import necessari ......
    
    public class VisualizzazioneAvvisi extends JDialog {
        private static final long serialVersionUID = 1L;
    
        private Controller ctrl;       // Non so a cosa ti possa servire qui ma OK
        private DefaultListModel<String> defaultListModel;
    
        public VisualizzazioneAvvisi(Controller ctrl) {
            this.ctrl = ctrl;
            defaultListModel = new DefaultListModel<>();
    
            setBounds(new Rectangle(0, 13, 0, 0));
            setResizable(false);
            setForeground(new Color(255, 165, 0));
            setBackground(new Color(255, 165, 0));
            setBounds(100, 100, 329, 219);
    
            JList<String> listaErrori = new JList<>(defaultListModel);
            listaErrori.setBackground(Color.ORANGE);
            add(new JScrollPane(listaErrori));
    
            pack();
        }
    
        public void setMessaggiErrore(List<String> messaggiErrore) {
            defaultListModel.clear();
    
            for (String messaggioErrore : messaggiErrore) {
                defaultListModel.addElement(messaggioErrore);
            }
        }
    }

    Nel controller 2 "versioni" di VisualizzazioneAvvisi:
    public void VisualizzazioneAvvisi(String messaggioErrore) {
        VisualizzazioneAvvisi(Arrays.asList(messaggioErrore));
    }
    
    public void VisualizzazioneAvvisi(List<String> messaggiErrore) {
        if (dialogErrore == null) {
            dialogErrore = new VisualizzazioneAvvisi(this);    // passi solo il controller
            dialogErrore.setBounds(0, 0,360, 150);
            dialogErrore.setLocationRelativeTo(menu);
        }
    
        dialogErrore.setMessaggiErrore(messaggiErrore);
        dialogErrore.setVisible(true);
    }
    Scusa un'ultima cosa ma ora qui:
    validazioni.NumeroCivicoObbligatorio(Integer.toString(numeroCivico), "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    Ho che numero civico è un intero ho convertito in string ma non mi funziona perché?
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    Scusa un'ultima cosa ma ora qui:
    validazioni.NumeroCivicoObbligatorio(Integer.toString(numeroCivico), "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    Ho che numero civico è un intero ho convertito in string ma non mi funziona perché?
    NumeroCivicoObbligatorio dovrebbe ricevere una stringa. Altrimenti "validi" ben poco ...
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    Scusa un'ultima cosa ma ora qui:
    validazioni.NumeroCivicoObbligatorio(Integer.toString(numeroCivico), "Inserisci il numero civico", "Il numero Civico inserita non è valida");
    
    Ho che numero civico è un intero ho convertito in string ma non mi funziona perché?
    NumeroCivicoObbligatorio dovrebbe ricevere una stringa. Altrimenti "validi" ben poco ...
    Ah ma senza fare modifiche non posso fare la conversione di int in string altrimenti poi bisogna cambiare tutto anche nel DB
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    Ah ma senza fare modifiche non posso fare la conversione di int in string altrimenti poi bisogna cambiare tutto anche nel DB
    Non devi cambiare niente. Il metodo di validazione riceve un String (che tu ottieni dal textfield!) di cui fa un parseInt. Questo solo per la validazione.
    Poi dove fai la registrazione o che sia, rifai un parseInt se necessario. E' una duplicazione ma è ... il male minore ...
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    Ah ma senza fare modifiche non posso fare la conversione di int in string altrimenti poi bisogna cambiare tutto anche nel DB
    Non devi cambiare niente. Il metodo di validazione riceve un String (che tu ottieni dal textfield!) di cui fa un parseInt. Questo solo per la validazione.
    Poi dove fai la registrazione o che sia, rifai un parseInt se necessario. E' una duplicazione ma è ... il male minore ...
    sisi ho risolto...ultimissima cosa c'è un metodo che non mi fa spostare( non posso spostarla con il mouse) la dialog su un'altra?
    Grazie mille
  • Re: Messaggi d'errore registrazione

    saraciao ha scritto:


    c'è un metodo che non mi fa spostare( non posso spostarla con il mouse) la dialog su un'altra?
    Non si è capito niente ... puoi riformulare??
  • Re: Messaggi d'errore registrazione

    andbin ha scritto:


    saraciao ha scritto:


    c'è un metodo che non mi fa spostare( non posso spostarla con il mouse) la dialog su un'altra?
    Non si è capito niente ... puoi riformulare??
    Ho una dialog che si apre su un jframe come posso fare per fa si che se la sposta con il mouse la dialog non si sposta ma rimane nella stessa posizione
Devi accedere o registrarti per scrivere nel forum
60 risposte