2011-03-07 61 views
2

我目前有一個包含多個SWT Spinners的JFace Wizard頁面,以允許用戶輸入正數值。由於微調器由整數支持,因此最大限制爲Integer.MAX_VALUE。我想讓用戶輸入比這個更大的正整數。什麼是最適合輸入Long值的SWT小部件?

我不知道任何支持long的SWT小部件。一個可能的解決辦法,我認爲是使用一個Text插件和附加VerifyListener,這將做這樣的事情:

public void verifyText(VerifyEvent e) { 
    e.doit = e.text.matches("[0-9]+"); 
    try { 
     new Long(e.text); 
    } 
    catch (NumberFormatException nfe) { 
     e.doit = false; 
    } 
} 

有沒有更好的辦法可以讓用戶輸入比Integer.MAX_VALUE大的價值嗎?

回答

2

當您輸入小整數值時,紡紗器通常很有用。即使對於更大的整數值,文本框(帶有像你這樣的驗證器)也比微調器更受歡迎。我猜你正走在正確的道路上。

相關問題