設計可組裝的j2me UI(三) TextBox

2021-08-29 05:50:09 字數 1345 閱讀 6110

自己實現操作canvas,很大部分是對文字的顯示以及排版操作。而對字型的定義則每個廠商都有自己的規範,必然nokia定義了大,中,小字型。而我在其他手機上只有一種字型,所以無論你怎麼樣定義字型的大小都只有一種效果,這樣的話。你可能要在程式中自己進行判斷,然後在顯示出來。要不然的話,則寫出的程式在各個機型上顯示的效果會有一些不同。

下面讓我們來設計可以滾動的textbox.

首先繼承part(ui的第一篇文章有給出**)

[code]

public class textbox extends part

/*** 分割字元傳.並處理pillar的高度,最主要的方法。

* 通過螢幕的高,寬,以及字型的體型進行文字出來。並把處理後的文字儲存在乙個vector中,以後繪製出來就容易多了**/

private void skipcontent()else

stringbuffer sb = new stringbuffer();

vector ve = new vector();

for(int i=0 ; i < this.textchars.length; i++)

}ve.addelement(sb.tostring());

log.debug(sb);

textnum = new string[ve.size()];

ve.copyinto(this.textnum);

ve.removeallelements();

ve = null;

//獲取最大的陣列值

maxnum = viewcontent[height]/(this.contentstyle.font.getheight() ) ;

this.numofels = this.textnum.length;

this.pillarheight = numofels > maxnum ? viewcontent[height]/(numofels-maxnum +1):0;

log.debug("maxnum=" + maxnum);

log.debug("numofels=" + numofels);

}/**

* 繪製文字的內容,自動實現,狀態條的顯示等

* @param g

*/private void paintcontent(graphics g)

paintpillar(viewcontent[width]-pillarwidth-4, viewcontent[y],g);

}private void paintpillar(int x,int y,graphics g)

[/code]

以上**是基本框架。思路就這樣。實踐起來也不困難。

J2EE DAO層和業務邏輯層的設計

舉個例子,比如要做乙個學生選課管理系統,資料庫中有三張表,分別是students,teacher,course dao層介面設計 inte ce studentdao inte ce teacherdao inte ce coursedao 業務層介面設計 inte ce studentservic...

基於UML的j2ee許可權系統概要設計

朋友公司的文件,可惜 要收費9000塊。系統的目標包括如下三點 1 對應用系統的所有資源進行許可權控制,比如應用系統的功能選單 各個介面的按鈕控制項等進行許可權的操控 2 完善使用者 角色 組織 資源 操作的管理功能,其中的組織管理模組只提供組織檢視,不參與許可權的控制管理。3 開發人員開發新的系統...

關於 J2EE 層次設計架構例項的分析詳解

art 1 層 層 layer 這個概念在計算機領域是非常了不得的乙個概念。計算機本身就體現了一種層的概念 系統呼叫層 裝置驅動層 作業系統層 cpu指令集。每個層都負責自己的職責。網路同樣也是層的概念,最著名的osi的七層協議。層到了軟體領域也一樣好用。為什麼呢?我們看看使用層技術有什麼好處 你使...