class Panel1 extends Panel{
int i;
SearchImage si = new SearchImage();
final Image image=Toolkit.getDefaultToolkit().createImage(si.ll.get(i).getAbsolutePath());
Panel1(){}
Panel1(int i){this.i = i;}
public void paint(Graphics g){
System.out.println(i); g.drawImage(image,0,0,image.getWidth(null),image.getHeight(null),null);
   
}
    
}class ListMoniter extends MouseAdapter{
Panel p2;
int i;
ListMoniter(Panel1 p2){this.p2=p2;}
public void mouseClicked(MouseEvent e){
    i=((List)e.getSource()).getSelectedIndex();
new Panel1(i);
    p2.repaint();
System.out.println(i); }
}
为什么下面的i传不到是面去;

解决方案 »

  1.   

    整理下先.class Panel1 extends Panel{
       int i;
       SearchImage si = new SearchImage();
       final Image image=Toolkit.getDefaultToolkit().createImage(si.ll.get(i).getAbsolutePath());
       Panel1(){}
       Panel1(int i){this.i = i;}
       public void paint(Graphics g){
           System.out.println(i);       g.drawImage(image,0,0,image.getWidth(null),image.getHeight(null),null);
        
       }
        
    }class ListMoniter extends MouseAdapter{
       Panel p2;
       int i;
       ListMoniter(Panel1 p2){this.p2=p2;}
       public void mouseClicked(MouseEvent e){
         i=((List)e.getSource()).getSelectedIndex();
         new Panel1(i);
         p2.repaint();
         System.out.println(i);}
    }