2012-04-30 31 views
0

我有以下幾點:如何不是一個字符串添加到一個文本區域,如果它包含的東西 - Java的

InputStream inputFromServer 
TextArea t 
String display 
String validation 

字符串顯示持有從InputStream的數據,然後將其添加到文本區。我想檢查,如果顯示包含驗證,那麼不要把它寫到文本區域。下面是代碼我目前有:

while ((inputFromServer.read())!=-1) 
{ 
    display = display + ((char)inputFromServer.read()); 
    t.setText(s); 
} 

我想是這樣的:

while ((inputFromServer.read())!=-1) 
{ 
    display = display + ((char)inputFromServer.read()); 
    if display contains validation { 
     THEN DONT WRITE IT TO THE TEXT AREA 
    } 
    else{ 
     t.setText(s); 
    } 
} 

如果該方法是完全錯誤的,然後有人可以指導我在正確的方向嗎?由於

+1

什麼是驗證?如果當前字符串在裏面? –

+0

當用戶在textField中鍵入內容時,字符串變量會在另一種方法中初始化。他們輸入的內容成爲驗證變量中的字符串。我給出的代碼總是從服務器讀取並添加到textarea。我不希望它添加任何包含驗證字符串的消息。如果textarea包含驗證變量,所有其他消息應該添加到textarea – Matt9Atkins

+0

,如果t.setText沒有添加任何內容,或者只有sting但沒有驗證字符串?並且驗證字符串在高級中是已知的? –

回答

0

你可以這樣做:

while ((inputFromServer.read())!=-1) 
{ 
    display = display + ((char)inputFromServer.read()); 
    if (!display.contains(VALIDATION_STRING) { 
     t.setText(s); 
    } 
} 
+0

您近期的評論使其不清楚。你能給我們更多有關VALIDATION變量的信息嗎?它是如何起作用的?什麼時候?那些是固定的String? –

+0

我試過了 - 它可以工作,但是當顯示字符串包含驗證字符串時,則不會有其他消息被添加到textarea,即使它不包含它。 – Matt9Atkins

+0

驗證變量被聲明爲字符串驗證; - 在textfields actionlistener中,它接受用戶輸入並將其作爲驗證變量= validation = inputfromUser.getText(); – Matt9Atkins

0

好,因爲驗證String可能是未初始化,您可以檢查針對

display += ((char)inputFroMServer.read()); 
if(validationString.equals("") || !display.contains(validationString)) { 
     t.setText(display); 
} 

或者就像我在我的評論說,你可以這樣做:

!display.toLowerCase().contains(validationString.toLowerCase()) 

如果你不在乎案件

另外,如果你要編輯顯示字符串一堆,你應該考慮使用StringBuilder

相關問題