頁:
[1]
可以幫我看看這一段程式碼可以嗎關於限定長度
可以幫我說明一下嗎?程式碼是什麼意思呢
有一些不太懂
class NumericTextLimit extends PlainDocument {
private int limit;
NumericTextLimit(int limit) {
super();
this.limit = limit;
}
public void insertString (int offset, String str, AttributeSet attr)
throws BadLocationException
{
if (str == null) return;
if ((getLength() + str.length()) <= limit) {
//當輸入值合乎條件時才呼叫 super.insertString() 去改寫 Document 的 data.
super.insertString(offset, str, attr);
} else {
getToolkit().beep();
return;
}
}
} // end of inner class NumericTextLimit
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 哪些地方不懂? 可以標出來討論討論 我看到的程式邏輯如下, 不知有沒有回答你的問題:
1. new NumericTextLimit class 給你要限制顯示的長度(limit)
2. 呼叫insertString method時, 判斷總字數是否超出limit
a.沒有的話就加上新的字串
b.有的話就嗶一聲 哪些地方不懂? 可以標出來討論討論
class NumericTextLimit extends PlainDocument {
// 宣告類別 NumericTextLimit 繼承 PlainDocument
private int limit;
// 存取權限私有,物件屬性 limit
NumericTextLimit(int limit) {
// 存取權限預設,建構子, 需求參數
// 型態 int 賦予名稱 limit
// 附註:因為有宣告建構子,編譯器將不自動加入預設建構子
super();
// 呼叫父類別之預設建構子
this.limit = limit;
// 設定本物件屬性 limit 值為建構子參數 limit 值
} // 建構子結尾
public void insertString (int offset, String str, AttributeSet attr)
// 存取權限公眾,物件方法 insertString, 需求參數
// 型態 int 賦予名稱 offset,
// 型態 String 賦予名稱 str,
// 型態 AttributeSet 賦予名稱 attr
throws BadLocationException {
// 宣告可能會丟出 BadLocationException 例外
// 附註:因為父類別有相同的方法宣告,因此這項方法為覆寫(override)
// 故存取權限不得低於父類別宣告
// 宣告可能丟出的例外不能廣於父類別宣告
if (str == null) return;
// 判斷當 str 為 null 時,結束本次呼叫
if ((getLength() + str.length()) <= limit) {
// 判斷當 getLength() + str 長度未超過物件屬性 limit 時,做以下動作
// 猜測 getLength() 為取得目前原有字串長度
super.insertString(offset, str, attr);
// 呼叫父類別的方法 insertString
} else {
// 上述判斷結果為假時,做以下動作
getToolkit().beep();
// 呼叫 getToolkit().beep();
// 猜測 getToolkit() 為取得工作包
// beep() 為發出警告
return;
// 結束本次呼叫
} // if 結尾
} // 方法 insertString 結尾
} // 類別結尾
...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><br><br><br><br><br><div></div>
頁:
[1]