2013-04-10 63 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