请问APPLET中能装载多少个IMAGE对象,为什么我装载了三个IMAGE,img1,img2,img3,只能绘制出前两个,而且我的里面有线程控制重绘,我的那前两个IMAGE对象要等够1分钟才能出来,这又是什么问题,有什么解决办法吗?
急需解决,谢谢!

解决方案 »

  1.   

    public class Photo extends Applet implements Runnable {
     public void init() {
      img1 = getImage(getCodeBase(), "1.gif"); 
       img1 = img1.getScaledInstance(30, 30, Image.SCALE_FAST);
       img2 = getImage(getCodeBase(), "2.gif"); 
       img2 = img2.getScaledInstance(30, 30, Image.SCALE_FAST); 
       img3 = getImage(getCodeBase(), "3.gif"); 
       img3 = img3.getScaledInstance(50, 50, Image.SCALE_FAST); 
       Thread t = new Thread(this);
       t.start();
       }
       public void paint(Graphics g) {
        g.drawImage(img1, 100, 100,this);
        g.drawImage(img2, 200, 200, this);
        g.drawImage(img3, 300,300, this);
       }
       
    public void run() {
            while (true) {
                try {
                    repaint();
                    // paintComponent(this.getGraphics());
                    Thread.sleep(1500);
                } catch (InterruptedException ex) {
                    ex.printStackTrace();
                }
            }
        }
    }
      

  2.   

    Applet能装多少图象,这个问题问的不好,如果你的Applet设置够大,图象不是很大,就能显示好几个,反之亦然,你出现的问题是因为你程序的缘故,不知道你有没有仔细分析一下你的程序,首先,在你加载图象的时候,你没有使用多线程,而是三个图象同时加载成为一个线程,这样当你的线程在运行的时候可能发生的情况就很多了,也许图象只加载了一半,系统就剥夺了这个线程的使用权,这样就显示不出三副图了,不知道你赞成不?看看相关方面的书吧,会有你满意的答案
      

  3.   

    我的整个程序在JPANEL里运行很正常啊。。就是放到APPLET里面出现了这种问题。。
      

  4.   

    自己解决了,不用getImage(getCodeBase(), "*.gif"); 改为Toolkit.getDefaultToolkit().getImage( "*.gif");所有的图片就都能绘出来了,而且也不会等1分钟才绘出来。