2015-08-14 46 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