2012-04-25 2 views
0

자바로 창에 그림을 표시하는 프로그램을 작성하고 프로그램을 컴파일하고 오류없이 실행할 수 있지만 창에서 숫자를 볼 수 없습니다. 코드에 무슨 문제가 있습니까? 고마워.자바 애플릿이있는 그림에 대해

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를 제거하십시오 : \\ 당신이 단지가 위치한 웹 서버에서 이미지를 얻으려고 노력하는 경우. –

답변

0

나는 스윙이나 AWT를 잘 모르기 때문에 나는 그 부분을 많이 도울 수 없다.

애플릿에 서명하지 않으면 로컬 하드 디스크에 액세스 할 수 없습니다. 그것은 까다로운 과정입니다. 이를 피하기 위해 이미지를 JAR에 넣고 getResourceAsStream()을 사용하여 이미지를 얻습니다.

try-catch에서 paint()의 내용을 모두 감싸고 예외가 발생하면 인쇄하십시오.

+0

아!이 방법을 시도해 보겠습니다 :) – Alex

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

애플릿이 배치 된 곳과 동일한 경로에 웹 서버에 이미지가 있다고 가정합니다. IDE에서 또는 appletviewer를 사용하여 실행중인 경우에는 작동하지 않습니다. 그것이 잘못되어 있다는 것을 말하는 것이 아니라, 그것이 어떻게 작동 하는지를 설명하는 것입니다. –

+0

이제 그는 getDocumentBase()도 호출하고있는 것을 볼 수 있습니다. –

+0

그건 사실입니다! – daker

관련 문제