2011-06-07 280 views
0

我正在學校項目上工作,如果我創建的文本框是空的,我正在嘗試檢查GWT。我在另一個項目上做了完全相同的事情,並且在那裏工作得很好。我在這裏和谷歌搜索了答案,但找不到任何答案。GWT檢查文本框是否爲空

voornaamTB = new TextBox(); 
voornaamTB.setText(null); 

ok.addClickHandler(new ClickHandler() { 
     public void onClick(ClickEvent event) { 
      if (voornaamTB != null) { 
       System.out.println("not empty"); 
      } else { 
       System.out.println("empty"); 
      } 
     } 
    }); 

回答

2

喜歡的東西:

if(!voornaamTB.getText().isEmpty()) { ... 

會工作。您目前正在測試以查看TextBox本身是否爲空,而不是您在第一行初始化它。

立即創建它後,您可能不需要setText(null)。

+0

謝謝你的解決方案。 – Aegis 2011-06-07 11:19:05

+0

你介意upvoting和接受這個答案?謝謝。 :) – AlexJReid 2011-06-07 11:20:22

+2

您還可以檢查'getText()。isEmpty()',它稍短(您不必擔心空字符串的情況) – 2011-06-07 14:31:20

1

你的對象不是空的,所以你只能得到空的。試試這個

voornaamTB = new TextBox(); 
voornaamTB.setText(null); 

ok.addClickHandler(new ClickHandler() { 
     public void onClick(ClickEvent event) { 
      if (voornaamTB.getText() != null) { 
       System.out.println("not empty"); 
      } else { 
       System.out.println("empty"); 
      } 
     } 
    }); 
+1

文本將(我相信)永遠不會爲空。它總是會有一些長度的字符串。如果長度== 0或空,那麼你有一個空的文本框。 – 2011-06-07 14:32:48

+0

我發現@JasonHall的評論有趣地說是正確的[在我自己的項目中有意思]。 – cellepo 2013-11-12 17:36:58