📄 ui_textarea.java
字号:
package com.cnxinshe.noteview;import java.util.Vector;import javax.microedition.lcdui.Graphics;import javax.microedition.lcdui.Image;/** * * 文本区域类 */public class UI_TextArea { private String title; private String content; private Image titleImage; private UI_Scroll scroll; private Vector vector = new Vector(); /** 定制的文本显示区域坐标参数值 */ // 文本显示区域起点X,Y坐标 private int contentX = 0, contentY = 20; // 文本显示区域的宽度和高度 private int contentWidth = 225, contentHeight = 250; private int space = 5; // 文本离边框的距离 /** 定制的滚动条坐标参数值 */ private int scrollX = 219; private int scrollY = 20; private int scrollWidth = 20; private int scrollHeight = 270; /** 关于文本显示以及滚动定义的一些数值 */ private int rowSpace = 0; // 行与行之间的间隙 private int alreaView = 0; // 已经显示的 private int movePlex = 15; // 竖直方向 每次移动的像素 private int allView = 0; private int canView = contentHeight - 10; private int startView = contentY + space; public UI_TextArea(String title, String content) { this.title = title; this.content = content; titleImage = Util.getImage("back_title"); scroll = new UI_Scroll(scrollX, scrollY, scrollWidth, scrollHeight); vector =Util.textToRows(contentWidth - 2 * space, content); allView = vector.size() * Platform.FONT_HEIGHT; } public void paint(Graphics g) { // 画顶部title图片 // g.drawImage(titleImage, 0, 0, 0); // 标题栏 g.setColor(0x292929); g.fillRect(0, 0, 240, 20); g.setColor(0xFFFFFF); g.drawString("超级阅读", 5, 2, 0); // 画背景美女 // g.drawImage(util.Util.getImage("back_pic_girl"), 150, 80, 0); // 文本绘制 g.setColor(0xffffff); g.drawString("返回", 0,290, 0);// g.drawRect(0, 290, 10, 10); paintContent(g); // 滚动条 scroll.setRect(contentY + space + canView - startView, canView,allView); scroll.paint(g); } private void paintContent(Graphics g) { g.setClip(contentX, contentY, contentWidth, contentHeight); int y = startView; for (int i = 0; i < vector.size(); i++) { g.drawString(vector.elementAt(i).toString(), contentX+ space, y, 0); y += Platform.FONT_HEIGHT; } g.setClip(0, 0, Platform.FULL_SCREEN_WIDTH,Platform.FULL_SCREEN_HEIGHT); } // ************按键事件处理区***********开始************** public void keyPress(int keyCode) { switch (keyCode) { case Platform.KEY_UP: keyUp(); break; case Platform.KEY_DOWN: keyDown(); break; case Platform.KEY_LEFT: break; default: return; } } private void keyUp() { if (startView >= contentY + space) { return; } if (allView <= canView) { return; } if (contentY + space - startView < movePlex) { startView = contentY + space; } else { startView += movePlex; } } private void keyDown() { if (allView <= canView) { return; } if (startView + allView - contentY - space - canView < movePlex) { startView = contentY + space + canView - allView; } else { startView -= movePlex; } } // ************按键事件处理区***********结束************** private void setContent(String content) { this.content = content; } private void setTitle(String title) { this.title = title; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -