andbin ha scritto:
saraciao ha scritto:
No ho una frame con la registrazione e poi ho una dialog per gli errori
Ok, questo è chiaro ma quale è il problema? Ogni volta che invochi VisualizzazioneAvvisi si apre una nuova dialog e a te non va bene?
E ti ripeto che una dialog è una cosa diversa da un frame, quindi stiamo parlando di una dialog "modale" o non modale?
P.S. magari mostra il codice di VisualizzazioneAvvisi ...
Questa è la dialog di visualizzaAvvisi e si voglio una dialog ma questa dialog gli errori prima che l'utente si registri devono comparire in una sola dialog mentre come ho fatto io si aprono più dialog VisualizzaAvvisi
import java.awt.BorderLayout;
import javax.swing.DefaultListModel;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import Classi.Controller;
import java.awt.Color;
import javax.swing.JList;
import java.awt.Rectangle;
import java.util.ArrayList;
public class VisualizzazioneAvvisi extends JDialog {
/**
*
*/
private static final long serialVersionUID = 1L;
private JPanel contentPanel = new JPanel();
private Controller ctrl;
public VisualizzazioneAvvisi(Controller ctrl,String... stringErrore) {
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);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBackground(new Color(255, 165, 0));
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
DefaultListModel<String> defaultListModel = new DefaultListModel<String>();
JList<String> listaErrori = new JList<>(defaultListModel);
listaErrori.setBackground(Color.ORANGE);
getContentPane().add(new JScrollPane(listaErrori));
for(String errore: stringErrore) {
defaultListModel.addElement(errore);
}
this.ctrl=ctrl;
this.pack();
}
public VisualizzazioneAvvisi(Controller ctrl, ArrayList<String> stringErrore) {
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);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBackground(new Color(255, 165, 0));
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(null);
DefaultListModel<String> defaultListModel = new DefaultListModel<String>();
JList<String> listaErrori = new JList<>(defaultListModel);
getContentPane().add(listaErrori);
for(String errore: stringErrore) {
defaultListModel.addElement(errore);
}
this.ctrl=ctrl;
this.pack();
}
}
Cosi mi da più dialog con più errori
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(Button_Iscriviti)) {
String nome=textField_Nome.getText();
String cognome=textField_Cognome.getText();
String email=textField_Email.getText();
String numeroTelefonico=textField_NumTelefonico.getText();
String password=textField_Password.getText();
String provincia=textField_Provincia.getText();
String citta=textField_Città.getText();
String Cap=textField_Cap.getText();
String nomeVia=textField_NomeVia.getText();
int numCivico;
ArrayList<String> errori =new ArrayList<String>();
try {
numCivico=Integer.parseInt(textField_N_Civico.getText().toString());
if(Controllo_NumeroCivico().equals("")) {
errori.add("Inserisci email");
ctrl.VisualizzazioneAvvisi(""+errori);
}
else {
ctrl.effettuaRegistrazione(nome, cognome, email, password, numeroTelefonico, nomeVia, numCivico, Cap, citta, provincia);
}
if(Controllo_Provincia().equals("")) {
errori.add("Inserisci Provincia");
ctrl.VisualizzazioneAvvisi(""+errori);
}
else {
ctrl.effettuaRegistrazione(nome, cognome, email, password, numeroTelefonico, nomeVia, numCivico, Cap, citta, provincia);
}
if(Controllo_Cap().equals("")) {
errori.add("Inserisci Cap");
ctrl.VisualizzazioneAvvisi(""+errori);
}
else {
ctrl.effettuaRegistrazione(nome, cognome, email, password, numeroTelefonico, nomeVia, numCivico, Cap, citta, provincia);
}
if(ctrl.effettuaRegistrazione(nome, cognome, email, password, numeroTelefonico, nomeVia, numCivico, Cap, citta, provincia)==false) {
ctrl.VisualizzazioneAvvisi("Utente già presente");
} else {
ctrl.visualizzazioneLogin();
}
} catch (NumberFormatException ae){
ctrl.VisualizzazioneAvvisi("Il formato di numero civico non è corretto");
}
}
}