Errore visualizzazione del jframe per un messaggio di errore

di il
3 risposte

Errore visualizzazione del jframe per un messaggio di errore

Ragazzi, ho voluto implementare nel mio programma una finestra di errore nel momento in cui si clicca sul bottone registra senza aver compilato tutti i campi.. il problema è che mi da diversi errori..
public class GestorePulsante implements ActionListener {
	
	private JTextField tipo;
	private JTextField prezzo;
	private JTextArea scontrino;
	private JTextArea listaconsumazioni;
	private JTextArea guadagnototale;
	private ListaConsumazioni l;
	
	
	public GestorePulsante(JTextArea a,JTextArea b,JTextField tipo,JTextField prezzo,JTextArea c,ListaConsumazioni lista){
		this.tipo=tipo;
		this.prezzo = prezzo;
		this.scontrino = a;
		this.listaconsumazioni = b;
		this.guadagnototale = c;
		this.l = lista;
	}

	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		/*if(tipo.getText()==" " || prezzo.getText()==" "){
			JFrame f2 = new JFrame("Errore");
			JPanel p2 = new JPanel();
			
			p2.setLayout(new BoxLayout(p2,BoxLayout.Y_AXIS));
			JLabel errore = new JLabel("Errore,inserisci tutti i campi");
			errore.setAlignmentX(Component.CENTER_ALIGNMENT);
			JButton ok = new JButton("Ok");
			ok.setAlignmentX(Component.CENTER_ALIGNMENT);
			
			p2.add(errore);
			p2.add(ok);
			
			ok.addActionListener(new GestorePulsanteErrore(f2));
			f2.addWindowListener(new GestoreFinestra());
			f2.getContentPane().add(p2);
			f2.setSize(200,200);
			f2.setLocation(500,300);
			f2.pack();
			f2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			f2.setVisible(true);
			
		}else{*/
		
		Consumazione consumazione = new Consumazione(tipo.getText(),Double.parseDouble(prezzo.getText()));
		l.InserisciInLista(consumazione);
		tipo.setText("");
		prezzo.setText("");
		scontrino.setText("");
		listaconsumazioni.setText("");
		guadagnototale.setText("");
		
		scontrino = this.ScriviScontrino(consumazione);
		listaconsumazioni = this.AggiornaLista();
		guadagnototale = this.AggiornaGuadagno();
		
		//}
	
	}

	private JTextArea AggiornaGuadagno() {
		double totale = 0; 
		Nodo curr = l.getHead();
		
		while(curr!=null){
			totale = totale + curr.getInfo().getPrezzo();
			curr=curr.getLink();
		}
		
		
		guadagnototale.setText(String.valueOf(totale+"€"));
		
		return guadagnototale;
	}

	private JTextArea AggiornaLista() {
		Nodo curr = l.getHead();
		
		while(curr!=null){
			listaconsumazioni.append(curr.getInfo().ToString());
			curr=curr.getLink();
		}
		
		return listaconsumazioni;
	}

	private JTextArea ScriviScontrino(Consumazione consumazione) {
		
		
		scontrino.append("Modesto Panetti Bari");
		scontrino.append("CASSA 1");
		scontrino.append("Programma realizzato da Tommaso Perilli");
		scontrino.append(consumazione.ToString());
		scontrino.append("ARRIVEDERCI E GRAZIE!");
		
		return scontrino;
	}
	

}
questa è la classe GestorePulsante che viene chiamata nel momento in cui clicco su un bottone.. le istruzioni riservate per il JFrame di errore le ho commentate.. per il resto invece è tutto okay, non ho nessun tipo di problema..

3 Risposte

  • Re: Errore visualizzazione del jframe per un messaggio di errore

    Ho modificato in questo modo:
    public void actionPerformed(ActionEvent e) {
    	
    		if(tipo.getText().equals("") || prezzo.getText().equals("")){
    			JButton ok = new JButton("Ok");
    			JOptionPane.showMessageDialog(null,"Errore,inserisci tutti i campi"+ok);
    		}else{
    		
    		Consumazione consumazione = new Consumazione(tipo.getText(),Double.parseDouble(prezzo.getText()));
    		l.InserisciInLista(consumazione);
    		tipo.setText("");
    		prezzo.setText("");
    		scontrino.setText("");
    		listaconsumazioni.setText("");
    		guadagnototale.setText("");
    		
    		this.ScriviScontrino(consumazione);
    		this.AggiornaLista();
    		this.AggiornaGuadagno();
    		
    		}
    mi esce il messaggio ma insieme al messaggio mi escono anche altri caratteri.. insomma non mi si visualizza solo il messaggio che vorrei
  • Re: Errore visualizzazione del jframe per un messaggio di errore

    palestrato ha scritto:


    			JButton ok = new JButton("Ok");
    			JOptionPane.showMessageDialog(null,"Errore,inserisci tutti i campi"+ok);
    
    Non c'è assolutamente bisogno di mettere esplicitamente un pulsante "OK" in un "normale" message dialog. In ogni caso non con la concatenazione delle stringhe, visto che il toString() dei componenti è poco/nulla significativo per l'utente finale.
  • Re: Errore visualizzazione del jframe per un messaggio di errore

    Si infatti ho aggiornato così:
    JOptionPane.showMessageDialog(null,"Errore,inserisci tutti i campi");
    e mi va tutto bene, grazie
Devi accedere o registrarti per scrivere nel forum
3 risposte