2015-08-14 49 views
0

我需要把一個屏蔽格式文本字段在我的JFrame,我把它像這樣如何定義一個eclipse mask格式化的文本字段?

MaskFormatter mask = new MaskFormatter("########/##"); 
JFormattedTextField txtName = new JFormattedTextField(mask); 

但是當我運行該程序的文本框爲空,並沒有將其保存在數據庫

回答

3

MaskFormatter documentation我們可以看到,

#任何有效數字,使用Character.isDigit

如果你想接受文本(字母和數字)使用

A任何字符或數字(Character.isLetterCharacter.isDigit
*任何

你也可以使用此表格

JFormattedTextField txtName = new JFormattedTextField(); 
MaskFormatter mask = new MaskFormatter("########/##"); 
mask.install(txtName); 
+0

現在的斜線出現,但它仍然沒有保存在數據庫上 –

+0

似乎工作正常:http://pastebin.com/uP18wcEZ – Pshemo

+0

@HindDev也由「斜線出現」表示只顯示飛濺或您鍵入的其他字符,但它們不保存在數據庫中? – Pshemo

2

你說它不接受文字。

但是#表示只有數字

下面是摘自表:http://www.javalobby.org/java/forums/t48584.html

字符說明

#任何有效數字,使用Character.isDigit。

'轉義字符,用於轉義任何特殊的格式化字符。

U任何字符(Character.isLetter)。所有小寫​​字母都映射到大寫字母。

L任何字符(Character.isLetter)。所有大寫字母都映射到小寫字母。

不限字符或數字(或Character.isLetter Character.isDigit)

?任何字符(Character.isLetter)。

*任何東西。

H任何十六進制字符(0-9,a-f或A-F)。

+0

它不接受任何我寫了一個像在掩碼中顯示的nuber它沒有出現在我的數據庫字段空 –

+1

@HindDev一次一步,你的代碼沒有提到數據庫,所以如果你認爲你的問題有更多的上下文,更新它。對我來說,這兩個答案是完全有效的給你輸入 – Dici