如何才能使JLabel的文字自左向右移动,然后到了窗体的边缘,又从右向左移动,好象横向滚动的效果?在线等

解决方案 »

  1.   

    以前写的一个小例子,和你说说的比较象,改改就可以用了:
    http://blog.csdn.net/mq612/archive/2006/09/13/1218022.aspx
      

  2.   

    偶也写了一个简单的
    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){}
    }
    }
    }