我將開發j2me應用程序。我想知道,如何根據J2ME中的屏幕寬度大小將文本包裝到畫布上。在J2ME畫布上包裝文字
0
A
回答
1
您需要計算要自己繪製的字符串的寬度,並在每次達到畫布的最大寬度時開始一個新行 (拆分字符串)。
void paint(Graphics _g) {
String t = "text to draw";
int px_consumed = _g.getFont().substringWidth(t, 0, t.length())}
}
0
退房ScrollableTextField諾基亞論壇 http://wiki.forum.nokia.com/index.php/File:ScrollableTextField.zip
5
這是我的代碼在我的應用程序中,它將換行向量和U可以在畫布上任意X點繪製。
public static Vector wrapToLines(String text, Font f, int maxWidth) {
Vector lines = new Vector();
boolean paragraphFormat = false;
if (text == null) {
return lines;
}
if (f.stringWidth(text) < maxWidth) {
lines.add(text);
return lines;
} else {
char chars[] = text.toCharArray();
int len = chars.length;
int count = 0;
int charWidth = 0;
int curLinePosStart = 0;
while (count < len) {
if ((charWidth += f.charWidth(chars[count])) > (maxWidth - 4) || count == len - 1) // wrap to next line
{
if (count == len - 1) {
count++;
}
String line = new String(chars, curLinePosStart, count - curLinePosStart);
if (paragraphFormat) {
int lastSpacePosition = line.lastIndexOf(" ");
String l = new String(chars, curLinePosStart, (lastSpacePosition != -1) ? lastSpacePosition + 1 : (count == len - 1) ? count - curLinePosStart + 1 : count - curLinePosStart);
lines.add(l);
curLinePosStart = (lastSpacePosition != -1) ? lastSpacePosition + 1 : count;
} else {
lines.add(line);
curLinePosStart = count;
}
charWidth = 0;
}
count++;
}
return lines;
}
}
,雖然只運行在for循環
int y=0;
int linespacing=4;
for(int i=0;i<lines.size();i++)
{
g.drawString((String)lines.get(i),10,y,0);
y+=(i!=lines.size()-1)?(font.getHeight()+linespacing):0;
}
享受:)
相關問題
- 1. J2ME中的文字包裝
- 2. 如何在畫布上包裝圖像上的文字
- 3. j2me畫布上的文本框
- 4. J2ME遊戲畫布
- 5. J2ME畫布上的倒計時器
- 6. J2ME畫布上的垂直滾動條
- 7. 我們可以在j2me的畫布上垂直繪製文本
- 8. 在J2ME畫布上顯示格式化文本
- 9. 在ubuntu上安裝畫布
- 10. 我無法在J2ME畫布上畫圖像
- 11. 畫布J2mE列表表格
- 12. 使用J2ME清除畫布
- 13. 如何在j2me畫布中滾動?
- 14. 如何在j2me中切換畫布
- 15. 在HTML5畫布上看不到文字
- 16. 在畫布上揮動文字
- 17. 在縮放畫布上測量文字
- 18. 在畫布左上角繪製文字
- 19. 用戶在畫布上顯示文字
- 20. 如何在畫布上輸入文字?
- 21. 僅在畫布上顯示文字onmouseover
- 22. Android在畫布上繪製文字
- 23. 在畫布上模擬OpenGL紋理包裝+插值?
- 24. 如何在J2ME畫布上製作按鈕?
- 25. 如何在畫布上通過畫線方法在J2ME中繪製矩形
- 26. 將畫布包裝到網格時丟失畫布滾動條
- 27. 如何在圖像上包裝文字?
- 28. 更改J2ME中畫布的方向
- 29. 從j2me的畫布中刪除命令
- 30. 填寫2色背景畫布J2ME
接受一些答案! – Azlam 2010-08-19 18:21:42