我有一個textfield,在其中我必須驗證一個Email.My問題是我只想在電子郵件有效時從文本字段移動焦點。我現在正在使用FocusAdapter。 有人可以給我一些其他的想法嗎?在JTextField上添加FocusListener
0
A
回答
0
試試這個:
public static boolean isValidEmailAddress(String email)
{
boolean result=true;
try
{
InternetAddress emailAddr=new InternetAddress(email);
emailAddr.validate();
} catch(AddressException ex)
{
result=false;
}
return result;
}
+0
我已驗證了Email.My的問題是:當我在TextField中輸入一些無效的電子郵件,並將鼠標移動到另一個組件上時,我需要鼠標才能夠做到這一點,但要留在同一個Textfield中直到電子郵件有效。 – Laura
0
在下面的例子中,你不能移動到另一個領域,如果驗證失敗,與requestFocusInWindow()
方法的幫助下完成的。試試吧,我認爲它可以幫助你:
public class Frame extends JFrame {
private JTextField f;
private JTextField f2;
private JTextField f3;
public Frame() {
f = new JTextField(5);
f2 = new JTextField(5);
f3 = new JTextField(5);
f.addFocusListener(getFocusListener());
getContentPane().setLayout(new GridLayout(3,1,5,5));
getContentPane().add(f);
getContentPane().add(f2);
getContentPane().add(f3);
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
private FocusListener getFocusListener() {
return new FocusAdapter() {
@Override
public void focusLost(FocusEvent arg0) {
super.focusLost(arg0);
if(!validateEmail()){
f.requestFocusInWindow();
}
}
};
}
private boolean validateEmail() {
return f.getText().length()<3;
}
public static void main(String args[]) {
new Frame();
}
}
3
見javax.swing.InputVerifier
和JComponent.setInputVerifier()
但不要忘了從安德魯的建議。您的工作流程不方便用戶使用。
有人已經在這裏描述:Java - making a textbox not lose focus
相關問題
- 1. 添加的FocusListener到2D的JTextField陣列
- 2. 的FocusListener上的JTextField不工作
- 3. 如何在JTextfield上添加命令+ a?
- 4. 在JTextField上添加約束條件
- 5. FocusListener&JOptionPane
- 6. 如何添加JList與JTextField
- 7. 將數組添加到JTextField
- 8. 將JTextField添加到OverlayLayout
- 9. 動態添加JCombobox和JTextField
- 10. JTextfield通過程序添加
- 11. 無法添加JFrame和JTextField
- 12. FocusListener行爲
- 13. FocusListener有問題
- 14. 如何在標籤上動態添加和刪除JTextField點擊
- 15. FocusListener上可編輯JCombobox沒有射擊
- 16. 如何添加一個JScroPane到JTextField
- 17. Defaultlistmodel從jtextfield中添加兩個項目
- 18. 如何將JTextField添加到JFrame的MenuBar?
- 19. JFrame表單從JTextField添加到JList
- 20. 將標籤添加到JComboBox和JTextField
- 21. 空的JTextField和添加號碼
- 22. 如何將快捷鍵添加到JTextField?
- 23. GUI添加的JTextField到一個ArrayList
- 24. 無法添加對象通過的JTextField()
- 25. 不能將JTextfield添加到JPanel
- 26. 連接錯誤的JTextField(代碼添加)
- 27. 添加標籤爲一個JTextField
- 28. 添加DocumentListener以驗證多個JTextField
- 29. 添加JTextField後損壞的GUI
- 30. Swing ...添加JTextField空白我的JPanel
我討厭有一個行爲這樣一個程序來工作。例如。我坐在一個有30個領域的屏幕前,並且知道其中29個的值,但第30個是我從我的同事那裏得到的電子郵件地址,他們已經從外面冒出來冒煙。爲什麼限制我輸入我知道的29個領域的細節? *「..給我一些其他的想法?」*當操作員***試圖保存信息時驗證所有字段***如果有需要修復的字段,請彈出一個模式對話框,解釋所需的數據並放下它們回到形式,以領域爲重點。 –