有什么办法 可以把一段 字符串 按字符一个一个先后循序打印(有间隔时间)到屏幕上并且判断是否到达屏幕边界 如果到达则 字符接着从第一个位置开始打印。。似乎有点难度 以前看类似代码 但不是我想要的这种效果 平台是J2ME J2SE的一些类可能的需要自己写。
解决方案 »
- java根据文件名读取文件内容逐行显示到JTextarea里
- 关于接口的问题
- java 实现 在线升级 功能 和 本地升级功能
- 为什么要CLASSPATH?我只在PATH里加上JDK的bin目录就可以用了。
- 初学者搞不明白再请教,JAVA中的*.class *.jar 如何生成和实现图形界面话?
- 各位大侠谁能告诉我“~”在java中是干什么用的????在线等待有解就给分
- 美国软件开发杂志2002西部年会《Effective Java Programming》勇夺图书大奖
- 为何我所有的JAVA程序都无法通过编译?
- 怎样使用jdbc驱动?
- JAVA 调用PL/SQL FUNCTION 的问题
- 有难度的问题(也许):点击jpanel里的区域,如何判断点击到了什么组件?
- 寻求jfree chart1.0.2软件以相关实例
private String str;
private int screenWidth;
private String backspaces, spaces; public PrintString(String s, int sw) {
str = s;
screenWidth = sw;
char[] c = new char[screenWidth]; java.util.Arrays.fill(c, '\b');
backspaces = new String(c);
java.util.Arrays.fill(c, ' ');
spaces = new String(c);
} public void run() {
for (int i = 0, j = 0; i < str.length(); j = (++i) % screenWidth) {
if (i > 0 && j == 0) {
System.out.print(backspaces);
System.out.print(spaces);
System.out.print(backspaces);
}
System.out.print(str.charAt(i));
try {
Thread.sleep(100);
} catch (InterruptedException e) {
System.out.println("thread interrupted.");
}
}
} public static void main(String[] args) {
new PrintString("Hello, World! Hello, World!", 10).start();
}
}
不过我用的J2ME的平台
java.util.Arrays 这套类库没有啊
public class StringCanvas extends Canvas
{
char[] a;
String s;
public StringCanvas()
{
new test("12345678",7).start();
} protected void paint(Graphics g)
{
g.setColor(0);
for(int i=0;i<a.length;i++)
{
g.drawChar(a[i],0+i*Font.getDefaultFont().charWidth(a[0]),100,20);
}
}
public class test extends Thread
{ public test(String src,int screenwidth)
{
s=src;
a=new char[screenwidth];
}
public void run()
{
while(true)
{
try {for(int i=0;i<a.length;i++)
{
a[i]=s.charAt(i);
Thread.sleep(2000);
repaint();
}
} catch (Exception e) {}
}
} }}
public class StringCanvas extends Canvas implements Runnable
{
char[] a;
char b;
int curCharIndex;
final static String s="就独立涡轮机地垃圾卡哦离开机地勒克司机打击哦案例酱豆腐33333333334444444444";
int curX;
Font font=Font.getDefaultFont();
int count;
public StringCanvas()
{
a=new char[s.length()];
new Thread(this).start();
} protected void paint(Graphics g)
{
g.setColor(0);
g.fillRect(0,0,180,177);
g.setColor(255,255,255);
for(int i=0;i<a.length;i++)
{
g.drawChar(a[i],curX+i*font.charWidth(a[0]),100,20);
}
}
public void run() {
while(curCharIndex<s.length())
{
try {
for(int i=0;i<s.length();i++)
{
s.getChars(curCharIndex,curCharIndex+1,a,count);
curCharIndex++;
count++;
//System.out.println(font.charsWidth(a,0,count));
if(font.charsWidth(a,0,count)>90)
{
count=0;
a=null;
a=new char[s.length()-curCharIndex];
}
Thread.sleep(500);
repaint();
}
} catch (Exception e) {}
break;
}
}
}