2011-09-28 59 views
0

我试图在GridBagLayout单元格中添加一个图像。但我无法实现它。在awt中添加图像

public class imageInAwt extends Applet{ 
    Panel p; 
    BufferedImage img; 
    public void init(){ 
    setLayout(new GridBagLayout()); 
    GridBagConstraints gbc =new GridBagConstraints(); 
    gbc.gridx = 0; 
    gbc.gridy = 0; 
    try { 
     img = ImageIO.read(new File("settings.gif")); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    add(new junaid(img),gbc); 
    gbc.gridy = GridBagConstraints.RELATIVE; 
    add(new Label("Junaid"),gbc); 
    } 
} 

    class junaid extends Canvas { 
     Image img; 
     public junaid(Image img) { 
     this.img = img; 
     } 
     public void paint (Graphics g) { 
      BufferedImage image = null; 
       g.drawImage(image, 2, 3, null); 
       g.drawString("Junaid", 22, 16); 
     } 
     public void setImage (Image img){ 
     this.img = img; 
     } 
    } 

请大家帮忙。

在此先感谢

+0

什么是HTML的位置和内容,以及图像的位置?该applet是否可供我们访问?在什么地址/网址? –

+0

小程序类位于何处? – adatapost

+0

这是功课吗? –

回答

0

使用Applet.getImage() Applet类的方法。

Image img=getImage(getCodeBase(),"settings.gif"); 
+0

仍然没有工作,我的图像在res文件夹中。我也试过改变Image的路径img = getImage(getCodeBase(),“res/settings.gif”); – user966682

1
public void paint (Graphics g) { 
     BufferedImage image = null; 
      g.drawImage(image, 2, 3, null); 
      g.drawString("Junaid", 22, 16); 
    } 

咦?!?

public void paint (Graphics g) { 
      g.drawImage(img, 2, 3, this); 
      g.drawString("Junaid", 22, 16); 
    } 
+0

为了更快得到更好的帮助,请发布[SSCCE](http://pscode.org/sscce.html)。 –