2016-03-31 29 views
1

textArea boş olduğunda bir düğmeyi devre dışı bırakması gereken bir jTextArea öğesine documentListener ekledim. Bu, textArea boş olduğunda başlangıç ​​noktasında çalışır, ancak bir şey yazıp textArea.getText() == "" tarihine kadar tüm metni sildiğimde, düğme yine de devre dışı bırakılmaz.düğmesi devre dışı bırakılmıyor

textArea.getDocument().addDocumentListener(new DocumentListener() { 
      @Override 
      public void insertUpdate(DocumentEvent e) { 

       if (textArea.getText() == null) { 
        disableButton(); 
       } else { 
        enableButton(); 
       } 



      } 

      @Override 
      public void removeUpdate(DocumentEvent e) { 

       if (textArea.getText() == null) { 
        disableButton(); 
       } else { 
        enableButton(); 
       } 

      } 

      @Override 
      public void changedUpdate(DocumentEvent e) { 

       if (textArea.getText() == null) { 
        disableButton(); 
       } else { 
        enableButton(); 
       } 
      } 

      public void enableButton() { 
       clearModelMenuItem.setEnabled(true); 
       discardModel.setEnabled(true); 
       increaseFontSize.setEnabled(true); 
       decreaseFontSize.setEnabled(true); 
       incMenuItem.setEnabled(true); 
       decMenuItem.setEnabled(true); 
      } 

sorun burada ne: Bu yazdıklarımı mı? Yardımlarınız için teşekkürler!

+0

değişim 'textArea.getText() == textArea.getText()' için null'. IsEmpty() ' – Jerry06

+1

' Burada sorun nedir? ' - SSCCE'nizde, önceki sorularınızın çoğunda sizin gibi bir soru sorulmuştur ??? Önceki sorularınızda sizden sorduğunuz gibi test ettiğiniz değişkenin değerini gösteren hata ayıklama kodunuz nerede? Bir soru göndermeden ÖNCE kendi basit hata ayıklama yapın. – camickr

cevap

3

Aslında metnin boş olup olmadığını kontrol etmiyorsunuz; null olup olmadığını kontrol ediyorsunuz. String boş olan veile null arasında bir fark vardır.

Sen boş olup olmadığını kontrol etmek istiyorsanız

if ("".equals(textArea.getText())) ... 

kontrol edilmesi gerekir.

(Ayrıca null kontrol etmek isteyebilirsiniz.)

İlgili konular