我有一個jFormattedTextFiled字段「名稱」。 我必須限制字段只輸入25個字符。 如果輸入更多消息必須顯示... 消息我可以使用JOptionpane ..如何限制jFormattedTextField
我該怎麼辦?
我有一個jFormattedTextFiled字段「名稱」。 我必須限制字段只輸入25個字符。 如果輸入更多消息必須顯示... 消息我可以使用JOptionpane ..如何限制jFormattedTextField
我該怎麼辦?
使用KeyStrokeListener將是一個壞主意,因爲即使按下不可寫的按鍵(如SHIFT,排列等)時它也會觸發事件。
通過使用使用格式的構造函數,您可以首先確保只顯示和輸入25個第一個字符(例如使用MaskFormatter,如Java Tutorial中所述)。
我希望這也將工作
添加的KeyListener向有關文本框,並在keyPressed事件中寫入以下代碼
JTextField jTextField1=new JTextField();
jTextField1.setText(""); //intially the textfield is empty
void jTextField1_keyPressed(KeyEvent e) {
int len=jTextField1.getText().length();
System.out.println("hello1::"+len);
jTextField1.setEditable(len <= 24);
}
這不是一個好方法。用戶可以將文本粘貼到可以包含多個字符的文本字段中。此外,一旦文本字段已滿並且您將該字段設置爲不可編輯,那麼如果發生輸入錯誤,用戶如何編輯該字段以刪除字符? – camickr 2010-08-20 15:02:59
使用的JFormattedTextField不會讓你顯示一個一個的JOptionPane消息,因爲當您嘗試輸入多餘字符時,您會聽到嘟嘟聲。但是,這可能是更常見的方法,而不是每次都顯示一個彈出窗口。
但是,如果你真的想要一個彈出窗口,那麼你需要使用一個DocumentFilter。 Swing教程Implementing a Document Filter中的部分給出了一個你想做什麼的例子。您只需更換「嘟嘟聲」代碼即可顯示彈出窗口。
我走錯了路。這是格式文本字段的工作原理。 – 2010-08-20 08:53:52