2013-04-10 64 views
1

我想限制no。可以放在JTextField上的字符,因为在我的数据库中,我有这个列有Sex,Status(允许的字符数只有1)。java应用。字符串操作

和中间初始值(其中允许的字符数仅为2)。

这是我在我的脑海:

(性别,状态栏)

String text = jTextField2.getText(); 
     int count = text.(); 
     if (count>1) { 
      (delete the next character that will be input) 
     } 

(用于M.I.列)

String text = jTextField1.getText(); 
     int count = text.(); 
     if (count>2) { 
      (delete the next character that will be input) 
     } 

这可能吗?有没有一个命令会删除下一个字符,所以没有。的字符。我的数据库可以接受吗?

+0

对不起,我把“==”而不是“>”,我的坏。 – 2013-04-10 02:57:46

回答

1

当然。只需使用String#substring即可。

String middleInitial = "JKL"; 
middleInitial.substring(0, 2); 
System.out.println(middleInitial); // => JK 

同样,您可以使用substring(0, 1)作为性别。

虽然,性是一个枚举可能会更好。

public enum Sex { 
    MALE("m"), FEMALE("f"); 

    final String symbol; 
    private Sex(String symbol) { 
    this.symbol = symbol; 
    } 
} 

现在你可以使用这样的:

字符串性别= “男”; Sex.valueOf(sex.toUpperCase());

或者直接

Sex.MALE; 

相反性别的文本字段,你可以使用一个JComboBox因此用户只能选择两个选项之一。这样你一定有有效的输入。

+0

我可以使用您发布的代码,但这不是我正在寻找的代码。 – 2013-04-10 05:04:50

+0

你可以提供更多关于你在找什么的信息吗?在你的例子中子字符串照顾这一行:“(删除将被输入的下一个字符)” – 2013-04-10 17:02:38

+0

我将用'删除下一个将输入的字符'给我所有的jtextfield,比如名字,姓氏,地址, 等等等等... – 2013-04-12 02:18:42