如何才能使JLabel的文字自左向右移动,然后到了窗体的边缘,又从右向左移动,好象横向滚动的效果?在线等
解决方案 »
- 问大家一个问题,具体描述如详细内容
- 新手问道 多多指教
- 请教各位高手多文档编辑的记事本怎么处理保存文本这个功能,谢谢
- 问这种通配符查询该如何设计?
- 关于java里getProperty (“line.separator”)返回行分隔符的问题,大家帮忙
- long型能作为switch因子嘛
- java有图片处理的包吗?
- 如何捕捉JTextField是否被修改的消息?
- 我编译java文件时为什末在Jcreate里好用,在dos下能生成类,却运行不了呢? 在别人机器上好用,在我的Jcreate上也好用
- 对象.toString() 问题
- 如何将一个Panel上的graphics转移到另一个上去。。
- 关于JFileChoose的问题
http://blog.csdn.net/mq612/archive/2006/09/13/1218022.aspx
import javax.swing.*;public class Test extends JFrame implements Runnable{
JLabel lab;
int width,height;
int deltx=2,delty=2;//label的单位移动量
int startx,starty;//label的左上角坐标
int widthl=80,heightl=20;//label的长宽
public static void main(String args[]){
new Test("purebegger");
}
public User(String name){
super(name);
lab=new JLabel("purebegger");
add(lab);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,400);
setVisible(true);
width=getWidth();
height=getHeight();
startx=width/4;
starty=height/4;
run();
}
public void run(){
while(true){
lab.setBounds(startx,starty,widthl,heightl);
lab.setBorder(BorderFactory.createEtchedBorder());
if(startx+widthl<width-10&&startx>0){
startx+=deltx;
}
else{
deltx=-deltx;
startx+=deltx;
}
if(starty+heightl<height-30&&starty>0){
starty+=delty;
}
else{
delty=-delty;
starty+=delty;
}
width=getWidth();
height=getHeight();//change if window size changed
repaint();
try{
Thread.sleep(50);
}catch(Exception e){}
}
}
}