java swing 实现从左到右滚动文字

解决方案 »

  1.   

    import java.awt.*;
    class myframe extends Frame
    {
    static int x=0,y=120;
    static int i=0;
    static int horizScroll=1; Font fb = new Font("TimeRoman",Font.BOLD,36);
    String msg[]={"Java","Portable","Secure","Easy"};
    Color color[]={Color.blue,Color.yellow,Color.green,Color.red}; public void paint(Graphics g)
    {
    g.setFont(fb);
    g.setColor(color[i]);
    g.drawString(msg[i],x,y);
    } static public void main(String s[]) throws Exception
    {
    myframe mf = new myframe();
    mf.setSize(200,200);
    int pixelsPerLine=200,totalLines=4;
    mf.setVisible(true);
    for(int j=0; j<pixelsPerLine*totalLines; j++)
    {
    Thread.sleep(25);
    mf.repaint();
    if(horizScroll == 1)
    {
    if((x+=3) < 200)
    {
    continue;
    }
    i = ++i % 4;
    x=50;
    y=0;
    horizScroll = 0;
    }
    else
    {
    if((x+=3) < 200)
    {
    continue;
    }
    i = ++i % 4;
    x=0;
    y=120;
    horizScroll = 1;
    }
    }
    System.exit(0);
    }
    }
    AWT做的,稍微改一下就好了.
      

  2.   

    用一个lable控件、根据在面板中的坐标来定位、循环操作 OVER 、good luck
      

  3.   

    跑马灯面板
    http://tips4java.wordpress.com/2011/04/24/marquee-panel/