我在论坛里搜到的图形代码有标签或按钮的加了
image=getImage(getDocumentBase(),"3.jpg");
这句话就出错,要不就什么也不处来,灰版一块
希望能告诉我怎么做

解决方案 »

  1.   

    JPanel pane;
      JLabel label; 
      public void init() {
             pane = new JPanel();
             try{
      label= new JLabel(new ImageIcon(new URL(getCodeBase(),"3.jpeg")));
    } catch(MalformedURLException e){
               e.printStackTrace();
             }
             
    this.add(pane);
    pane.add(label);
      }
      

  2.   

    import java.awt.*;
    import java.applet.*;
    import javax.swing.*;
    public class app extends JApplet {
      JPanel pane = new JPanel();
      JLabel label = new JLabel(new ImageIcon(getImage(getCodeBase(),"3.jpeg")));
      public app() {
      }
      public void init() {
    this.add(pane);
    pane.add(label);
      }
    }
      

  3.   

    JLabel label = new JLabel(new ImageIcon(getImage(getCodeBase(),"3.jpeg")));
    是不是应该给出绝对路径?
      

  4.   

    首先,希望不是typo。你的第一个代码片段用得是3.jpg,面后面却是3.jpeg。
    既然你前面是对的,那这样改改应该是可行的:
    import java.awt.*;
    import java.applet.*;
    public class app extends Applet{
    Image image;
       public void init()
       {
       image=getImage(getDocumentBase(),"3.jpg");
       //添加JLabel
       JLabel label = new JLabel(new ImageIcon(image));   }
       public void paint(Graphics g)
       {
       g.drawImage(image,150,150,this);
       }
    }
      

  5.   

    怪事多多,在windowsXP下看,是3.jpeg,但在java这种情况下写3.jpg能显示
    import java.awt.*;
    import java.applet.*;
    import javax.swing.*;
    public class demo extends JApplet {
      Image image;
      public void init() {
    image=getImage(getDocumentBase(),"3.jpg");
    JPanel pane = new JPanel();   //添加JLabel
      JLabel label = new JLabel(new ImageIcon(image));
    //JLabel label = new JLabel("aaaaaa");
    this.getContentPane().add(pane);
    pane.add(label);
      }
    }
    但用eclipse生成的代码就是不行import java.awt.*;
    import javax.swing.*;
    /*
     * Created on 2003-1-10
     *
     * To change the template for this generated file go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     *//**
     * @author Anbol
     *
     * To change the template for this generated type comment go to
     * Window>Preferences>Java>Code Generation>Code and Comments
     */
    public class app extends JApplet { private javax.swing.JPanel jContentPane = null; private javax.swing.JLabel jLabel = null;
    Image image;
    /**
     * This is the default constructor
     */
    public app() {
    super();
    init();
    }
    /**
     * This method initializes this
     * 
     * @return void
     */
    public void init() {
    //image=getImage(getDocumentBase(),"3.jpg");
    System.out.println(getCodeBase().toString());
    this.setSize(300, 200);
    this.setContentPane(getJContentPane());
    }
    /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private javax.swing.JPanel getJContentPane() {
    if (jContentPane == null) {
    jContentPane = new javax.swing.JPanel();
    jContentPane.setLayout(new java.awt.BorderLayout());
    jContentPane.add(getJLabel(), java.awt.BorderLayout.CENTER);
    }
    return jContentPane;
    }
    /**
     * This method initializes jLabel
     * 
     * @return javax.swing.JLabel
     */
    private javax.swing.JLabel getJLabel() {
    if(jLabel == null) {
    jLabel = new javax.swing.JLabel();
    jLabel.setText("JLabel");
    }
    return jLabel;
    }
    }
    不管怎么改运行小程序出错
    java.lang.NullPointerException
    at java.applet.Applet.getCodeBase(Applet.java:136)
    at app.init(app.java:37)
    at app.<init>(app.java:28)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
    at java.lang.Class.newInstance0(Class.java:306)
    at java.lang.Class.newInstance(Class.java:259)
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:567)
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:496)
    at sun.applet.AppletPanel.run(AppletPanel.java:293)
    at java.lang.Thread.run(Thread.java:536)