我现在有需求要制作1个可以前后翻查看照片的功能,因为没有SWING中没有特定的IMAGE载体,所以我使用的是JLabel作为载体,部分代码如下: JLabel pic_1;
JLabel pic_2;
JLabel pic_3;
public void setPic(int start){
int n=0;
for(int i=start;i<urls.length;i++){
if(n==0)
pic_1.setIcon(new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i]));
if(n==1)
pic_2.setIcon(new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i]));
if(n==2)
pic_3.setIcon(new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i]));
if(++n == 3)
break;
}
pic_1.repaint();
pic_2.repaint();
pic_3.repaint();
}
urls为图片文件名的数组.已经证实这段代码被调用时是被正常执行的,但是JLABEL上图片却没有更新出来(原本是没有图片的JLabel),请问是什么问题?该如何解决?谢谢...图片格式是png格式

解决方案 »

  1.   

    JLabel要setBounds,最好把全部代码贴上来才好看
      

  2.   

    已经解决了..贴上解决后代码..
    pic_1.setIcon(new ImageIcon(getImage(new URL("http://"+ip+":8080/mo/imgs/"+urls[i]))));
      

  3.   

    new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i])是取不到图片文件的
      

  4.   


    JLabel pic_1; 
    JLabel pic_2; 
    JLabel pic_3; 
    public void setPic(int start){ 
    int n=0; 
    for(int i=start;i <urls.length;i++){ 
    if(n==0) 
    pic_1.setIcon(new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i])); 
    pic_1.setOpaque(false);//写上这句
    if(n==1) 
    pic_2.setIcon(new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i])); 
    pic_2.setOpaque(false);//写上这句
    if(n==2) 
    pic_3.setIcon(new ImageIcon("http://"+ip+":8080/mo/imgs/"+urls[i]));
    pic_3.setOpaque(false);//写上这句 
    if(++n == 3) 
    break; 

    pic_1.repaint(); 
    pic_2.repaint(); 
    pic_3.repaint();