2012-04-25 63 views
0

我想寫一個程序來在java窗口中顯示一個圖形,並且程序可以編譯並運行而不會出錯,但是這個圖形不能在窗口中看到。代碼有什麼問題?非常感謝。關於用java applet編制的圖形

import java.awt.*; 
import java.applet.*; 
import java.io.File; 
import java.net.URL; 
import java.awt.image.*; 
import java.awt.image.ImageObserver; 
public class MyApp extends Applet implements ImageObserver 
{ 
Image img; 

String imgPath="C:\\2000.JPEG"; 
int xpoint=50,ypoint=50; 
public void init() 
{ 
    setBackground(Color.blue); 
    setForeground(Color.green); 
    imgPath="C:\\2000_CannotViewImage.gif"; 
    } 
public void paint(Graphics g) 
{ 
    URL imgURL=getDocumentBase(); 
    img=getImage(imgURL,imgPath); 
    g.drawImage(img, xpoint, ypoint, this); 
} 


} 
+0

刪除C:\\,如果你想從那裏罐所在的網絡服務器得到的圖像。 – 2012-04-25 15:24:59

回答

0

我不知道Swing或AWT的好,所以我無法幫助那部分。

如果不簽名小程序,您將無法訪問本地硬盤。這是一個棘手的過程。爲了避免這種情況,將圖像放入JAR中並使用getResourceAsStream()來獲取它。

將所有內容都包裝在try()中,並在出現異常時打印出異常。

+0

哦,我會嘗試這種方法:) – Alex 2012-04-25 15:16:35

0

嘗試

import java.applet.Applet; 
import java.awt.Graphics; 

public class MyImage extends Applet{ 
    private java.awt.Image image1; 
    public void init(){ 
     image1=getImage(getDocumentBase(),"android.png"); 
    } 
    public void paint(Graphics g){ 
     g.drawImage(image1,0,0,this); 
    } 
} 
+0

這假設有一個圖像在Web服務器上的小程序罐子部署到相同的路徑。如果你在IDE中運行它,或者使用appletviewer,這將不起作用。不是說這是錯的,只是解釋它是如何工作的。 – 2012-04-25 15:22:22

+0

我現在看到他也在調用getDocumentBase()。 – 2012-04-25 15:24:13

+0

這是真的,先生! – daker 2012-04-25 15:24:27