2013-01-24 71 views
0

我想知道是否有一種簡單的方法來處理JTextField中的轉義字符。事情是,getText()將轉義轉義字符。當然,在大多數情況下,這將是首選行爲,但如果您希望允許用戶爲CSV文件(包括\ t)自由提供分隔符,則不是。有任何想法嗎?JTextfield中的轉義字符

鮑勃

+0

放入一個臨時字符串添加另一個\''\\每\''\\存在反轉義它,從而允許\ n在'println()'執行或其他任何內容中顯示。 –

回答

1

你總是可以覆蓋Swing組件的任何和所有公共職能的行爲。它被稱爲「專業化」。例如,您可以創建自己的MyJTextField類並覆蓋getText()方法。

0

JTextField只是一個視圖,所以它裏面總是有一個模型,這個模型是Document類。也許當你從Document實例,而不是JTextField情況下它不會被轉義收集文本

JTextField f = new JTextField(); 

    // your JTextField is being filled somehow with text ... 

    Document document = f.getDocument(); 
    try { 
     String text = document.getText(0, document.getLength()); 
    } catch (BadLocationException ex) { 
    } 

;:你可以試試這個

0

我知道這可能是有點晚了你,但我發現一個簡單的解決這一問題:

JTextfield field = new JTextField(); 
/*someone puts a string into it*/ 
escapeFulString = field.getText().replace("\\t","\t"); 
System.out.println(escapeFulString); 

這將打印出該字符串的所有標籤。要添加任何其他轉義序列,只需執行相同的過程。 只是不要忘記,java字符串處理方法做的不到位編輯,如:

text.replace("\\t","\t") 
//is not the same as 
text = text.replace("\\t","\t");