首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

高手请帮我实现一下 《窗口+滚动条》显示缩略图的有关问题!付上我的代码

2011-11-20 
高手请帮我实现一下 《窗口+滚动条》显示缩略图的问题!!付上我的代码voidshowmini(Stringpath){Showplaynew

高手请帮我实现一下 《窗口+滚动条》显示缩略图的问题!!付上我的代码
void   showmini(String   path){
                Show   play   =   new   Show();
                JPanel   pnlmain   =   new   JPanel();
                pnlmain.setLayout(null);
                JScrollPane   js   =   new   JScrollPane(pnlmain);
                js.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

                play.add(js);


                File   mulu   =   new   File(path);
                String   []zhong   =   mulu.list();
                Vector   jihe   =   new   Vector();
                for   (int   i   =   0;   i   <   zhong.length;i++)   {
                        String   bi   =   zhong[i].substring(zhong[i].lastIndexOf( ". ")+1);
                        if   ((bi.equals( "JPG "))   ||   (bi.equals( "BMP "))   ||
                                (bi.equals( "GIF "))   ||   (bi.equals( "jpg "))   ||
                                (bi.equals( "bmp "))   ||   (bi.equals( "gif ")))   {
                                          jihe.add(zhong[i]);
                        }
                }

                JPanel   []fi;
                JLabel   []tu;
                JLabel   []zi;
                Object   []guankan   =     jihe.toArray();

                for(int   i=0,x=20,y=23;i <guankan.length;i++){
                        fi   =   new   JPanel[guankan.length];
                        tu   =   new   JLabel[guankan.length];
                        zi   =   new   JLabel[guankan.length];
                        fi[i]   =   new   JPanel();
                        fi[i].setLayout(null);
                        fi[i].setBounds(x,y,90,90);

                        pnlmain.add(fi[i]);


                        tu[i]   =   new   JLabel();
                        ImageIcon   ico   =   new   ImageIcon(java.awt.Toolkit.getDefaultToolkit().getImage(path+ "\\ "+guankan[i].toString()).getScaledInstance(90,70,Image.SCALE_FAST));
                        tu[i].setIcon(ico);
                        tu[i].setBounds(0,0,90,70);
                        fi[i].add(tu[i]);

                        zi[i]   =   new   JLabel();
                        zi[i].setBounds(0,70,90,20);
                        zi[i].setText(guankan[i].toString());
                        fi[i].add(zi[i]);
                        if((i+1)%6==0){
                                x=20;y+=120;
                        }else{
                                x   +=   120;
                        }
                }
                play.setVisible(true);
        }
}
show是1个继承JFrame的类   请指点下滚动条不起作用!!!

[解决办法]
setBounds 用 setLocation 和 setPreferredSize代替试一下

热点排行