Problema documentlistener di una JTextArea

di il
3 risposte

Problema documentlistener di una JTextArea

Ho creato questo documentlistener:
public class MyDocumentListener implements DocumentListener {
	private JButton canc;
	private JButton punto;
	private JButton più;
	private JButton meno;
	private JButton per;
	private JButton diviso;
	private JButton del;
	private JButton uguale;
	private JTextArea visual;
	
	
	public MyDocumentListener(JTextArea visual2, JButton canc, JButton punto, JButton più, JButton meno, JButton per, JButton diviso, JButton del, JButton uguale){
		this.canc=canc;
		this.punto=punto;
		this.più = più;
		this.meno = meno;
		this.per=per;
		this.diviso=diviso;
		this.del=del;
		this.uguale=uguale;
		this.visual=visual2;
	}
	
	private void Controllo(){
		if(visual.getText().equals("")){
			canc.setEnabled(false);
			punto.setEnabled(false);
			più.setEnabled(false);
			meno.setEnabled(false);
			per.setEnabled(false);
			diviso.setEnabled(false);
			del.setEnabled(false);
			uguale.setEnabled(false);
		}else{
			canc.setEnabled(true);
			punto.setEnabled(true);
			più.setEnabled(true);
			meno.setEnabled(true);
			per.setEnabled(true);
			diviso.setEnabled(true);
			del.setEnabled(true);
			uguale.setEnabled(true);
		}
	}
	
	@Override
	public void changedUpdate(DocumentEvent arg0) {
		// TODO Auto-generated method stub
		this.Controllo();
	}

	@Override
	public void insertUpdate(DocumentEvent arg0) {
		// TODO Auto-generated method stub
		this.Controllo();
	}

	@Override
	public void removeUpdate(DocumentEvent arg0) {
		// TODO Auto-generated method stub
		this.Controllo();
	}

}
MyDocumentListener mydocumentlistener = new MyDocumentListener(visual,canc,punto,più,meno,per,diviso,del,uguale);
		visual.getDocument().addDocumentListener(mydocumentlistener);
ma il problema è che i bottoni sono sempre abilitati.. sapete dirmi qual'è errore?

la JTextArea l'ho implementata così:
JTextArea visual = new JTextArea(2,25);
		visual.setEditable(false);

3 Risposte

  • Re: Problema documentlistener di una JTextArea

    ....
  • Re: Problema documentlistener di una JTextArea

    ...
  • Re: Problema documentlistener di una JTextArea

    palestrato ha scritto:


    ma il problema è che i bottoni sono sempre abilitati.. sapete dirmi qual'è errore?
    Mah ... il MyDocumentListener a vista mi pare corretto. Il punto semmai è che all'inizio il testo nella textarea è vuoto e siccome il listener lo registri ovviamente dopo la creazione della textarea, il listener non è subito notificato.
    Se i pulsanti li hai creati "abilitati", all'inizio hai la situazione in cui la textarea è vuota E i pulsanti sono abilitati.


    P.S. tra l'altro scusa ma se fai visual.setEditable(false); come fa l'utente a scriverci dentro?
Devi accedere o registrarti per scrivere nel forum
3 risposte