ok 直接提问了我需要做一段程序 
要求有6个小图片同时在窗口中移动 
哪位高手能帮忙写一段代码提示一下 
感激不尽俺的东东超过一个图片的话 就会开始闪

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【xsir317】截止到2008-07-29 15:32:05的历史汇总数据(不包括此帖):
    发帖的总数量:13                       发帖的总分数:330                      每贴平均分数:25                       
    回帖的总数量:104                      得分贴总数量:35                       回帖的得分率:33%                      
    结贴的总数量:13                       结贴的总分数:330                      
    无满意结贴数:1                        无满意结贴分:20                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:7.69  %               无满意结分率:6.06  %                  
    敬礼!
      

  2.   

    <MARQUEE style="WIDTH: 712px; HEIGHT: 30px" scrollAmount=3  scrollDelay=80 behavior=alternate><img src="blue.gif">image</img></MARQUEE>
    这样可以吗?
      

  3.   

    不好意思没说清楚,是EXE,不是Web!
      

  4.   

       梦翔网  dreamfly.net.cn 南京本土专业计算机图书销售网站
      

  5.   

    可不可以在窗口中添加6个图片框,然后用timer控件控制图片出现的图片框位置,以此模仿图片移动
      

  6.   

    使用6个JLabel用来显示图片,创建一个Timer在其时间中移动这6个JLabel,选择合理的Timer频率和移动速度
    应该不会闪的。或者在Timer里每次只移动一个JLabel,依次轮循
      

  7.   

    如果是c/s可以通过继承JPanel后覆盖其public void paintComponent(Graphics g)方法,通过调用drawImage为六个图片制定不同位置坐标来绘制六个图片,移动时可以按照你的需求改变各图片坐标后repaint()即可
    drawImage的具体用法(还有其它五个不同参数的方法,可参照java API)
    public abstract boolean drawImage(Image img,
                                      int x,
                                      int y,
                                      ImageObserver observer)绘制指定图像中当前可用的图像。图像的左上角位于该图形上下文坐标空间的 (x, y)。图像中的透明像素不影响该处已存在的像素。 
    此方法在任何情况下都立刻返回,甚至在整个图像尚未装入,并且它还没有为当前输出设备完成抖动和转换的情况下也是如此。 如果图像已经完全装入,并且其像素不再发生改变,则 drawImage 返回 true。否则 drawImage 返回 false,并且随着更多的图像可用或者到了绘制动画另一帧的时候,装入图像的进程就会通知指定的图像观察者。 
    参数:
    img - 要绘制的指定图像。如果 img 为 null,则此方法不执行任何动作。
    x - x 坐标。
    y - y 坐标。
    observer - 当转换了更多图像时要通知的对象。
      

  8.   

    import java.awt.Color; 
    import java.awt.Dimension; 
    import java.awt.Font; 
    import java.awt.HeadlessException; 
    import java.awt.Point; 
    import java.awt.event.ActionEvent; 
    import java.awt.event.ActionListener; 
    import java.awt.event.ComponentAdapter; 
    import java.awt.event.ComponentEvent; 
    import javax.swing.JFrame; 
    import javax.swing.JLabel; 
    import javax.swing.JOptionPane; 
    import javax.swing.JViewport; 
    import javax.swing.Timer; 
    import javax.swing.*;
    import java.awt.BorderLayout;
    import javax.swing.JPanel;public class Test84 extends JFrame

    private Timer timer; 
    // private JLabel view;

    private JPanel view;

    private JViewport window; 
    public static void main(String[] args) 

    JFrame frm = new Test84("TEXT"); 
    frm.setDefaultCloseOperation(EXIT_ON_CLOSE); 
    frm.pack();
    frm.setLocationRelativeTo(null); 
    frm.setVisible(true); 
    } public Test84(String title) throws HeadlessException 

    super(title);  initComponents();  addComponentListener(new ComponentAdapter()
     { 
    public void componentResized(ComponentEvent e) 

    anchor = new Point(); 
    anchor.x = -window.getExtentSize().width; 
    timer.start(); 

    }
    ); 
    timer = new Timer(100, new ActionListener()
     { 
    public void actionPerformed(ActionEvent e) 

    animate(); 

    }
    ); 

    timer.setInitialDelay(0); 
    } private void initComponents() 

     
    // JLabel label[]=new JLabel label[6];
    //ImageIcon img2[]=new ImageIcon[3];// ImageIcon icon2 = new ImageIcon("./img/456.jpg");
    //img1[1]=icon2;
    // try
    // {
    //  System.arraycopy(img2,0,img1,2,img2.length);
    // }
     //catch(ArrayIndexOutOfBoundsException e){}
     
     
    // ImageIcon icon1 = new ImageIcon("./img/456.jpg");
    //JLabel label = new JLabel("str", img1[0], JLabel.CENTER);
     
    //JLabel label2 = new JLabel(img1[1]); // label.setIcon(img1[0]);
     //label.setIcon(img2[1]);
    //for(int i=1; i<=6; i++)
       
       //JLabel label = new JLabel(new ImageIcon("./img/"+ i+".jpg"));
      
    //  {  JLabel label = new JLabel(new ImageIcon("./img/"+ i+".jpg")); 
    //     JPanel p = new JPanel();
      // p.add(label, String.valueOf(i)); 
    //     getContentPane().add(p, BorderLayout.CENTER);
    //  }
        //ImageIcon img1[]=new ImageIcon[2];
        ImageIcon icon1 = new ImageIcon("./img/1.jpg");
     ImageIcon icon2 = new ImageIcon("./img/2.jpg");
     ImageIcon icon3 = new ImageIcon("./img/3.jpg");
     ImageIcon icon4 = new ImageIcon("./img/4.jpg");
     ImageIcon icon5 = new ImageIcon("./img/5.jpg");
     ImageIcon icon6 = new ImageIcon("./img/6.jpg");
       // img1[0]=icon1;
    //img1[1]=icon2;JLabel label1 = new JLabel(icon1);
    JLabel label2= new JLabel(icon2);
    JLabel label3= new JLabel(icon3);
    JLabel label4= new JLabel(icon4);
    JLabel label5= new JLabel(icon5);
    JLabel label6= new JLabel(icon6);
     
     
     
     
     
    // JLabel label= new JLabel();
    // label.add(label1);
    // label.add(label2);
     JPanel p1= new JPanel();
     p1.add(label1);
     p1.add(label2);
     p1.add(label3);
     p1.add(label4);
     p1.add(label5);
     p1.add(label6);
     JPanel p= new JPanel();
     p.add(p1);
       view=p;
    window = new JViewport(); 
    window.setView(view);
    getContentPane().add(window);

    } Point anchor; 
    private void animate() 

    Dimension extSize = window.getExtentSize(); 
    Dimension viewSize = view.getPreferredSize(); 
    anchor.x += 5;
    window.setViewPosition(anchor); 
    if (anchor.x > viewSize.width) 
    anchor.x = -extSize.width; 

    }
    使用此方法虽说麻烦点不过功能已经实现