📄 readtextcanvas.java
字号:
package x;
//import java.util.Vector;
import java.util.Vector;
import javax.microedition.lcdui.*;
public class readTextCanvas extends Canvas implements CommandListener
{
public int width,height,fontHeight;
public byte selectedItem=0;
Font font=null;
public String s;
// public String[] strText;
// public int lineSpace;
// public int maxLine,curLine;
public readTextCanvas(String body)
{
width = getWidth();
height = getHeight();
font = Font.getDefaultFont();
fontHeight = font.getHeight();
this.setCommandListener(this);
// lineSpace=fontHeight+2;
// maxLine=width-6;
// curLine=0;
s=body;
// strText=gtkBreakString(s,this.width*2/3);
}
public void paint(Graphics g)
{
g.setColor(0,0,0);
g.fillRect(0,0,255,255);
g.setColor(255,255,255);
g.fillRect(50,50,50,50);
}
public void keyPressed(int n)
{
switch(this.getGameAction(n))
{
case Canvas.RIGHT:
break;
case Canvas.LEFT:
break;
case Canvas.UP:
break;
case Canvas.DOWN:
break;
case Canvas.FIRE:
break;
}
this.repaint();
}
public String[] gtkBreakString(String s, int maxWidth) {
Vector temp = new Vector();
int beginIndex = 0;
int endIndex = 0;
while (endIndex < s.length()) {
beginIndex = endIndex;
while (s.charAt(beginIndex) == '/') {
beginIndex++;
}
endIndex = gtkBreakPoint(s, beginIndex, maxWidth);
temp.addElement(s.substring(beginIndex, endIndex));
if ((endIndex < s.length()) && (s.charAt(endIndex) == '/')) {
endIndex++;
}
}
String[] result = new String[temp.size()];
for (int i = 0; i < result.length; i++) {
result[i] = (String) (temp.elementAt(i));
}
return result;
}
private int gtkBreakPoint(String s, int beginIndex, int maxWidth) {
int result = beginIndex;
int nextLine = s.indexOf('/', beginIndex);
if(font.substringWidth(s, beginIndex, s.length()
- beginIndex) > maxWidth){
if(nextLine==-1){
while(font.substringWidth(s, beginIndex, result
- beginIndex)<maxWidth){
result++;
}
}
else if(font.substringWidth(s, beginIndex, nextLine
- beginIndex)<maxWidth){
result=nextLine;
}
else{
while(font.substringWidth(s, beginIndex, result
- beginIndex)<maxWidth){
result++;
}
}
}
else{
if(nextLine==-1){
result=s.length();
}
else {
result=nextLine;
}
}
return result;
}
public void drawText(Graphics g)
{
int beginPosY=fontHeight;
// for( int i=0;i<maxLine;i++){
// if(curLine+i>=strText.length){
// break;
// }
// g.drawString(strText[curLine+i],3,beginPosY+i*this.lineSpace,Graphics.TOP|Graphics.LEFT);
// }
}
public void commandAction(Command arg0, Displayable arg1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -