2012-02-21 3 views
-1

애플릿에 이미지를 추가하려고합니다. 나는 이것을 봤지만 이해할만한 훌륭한 모범을 찾지 못했다. 누구든지 이미지를 애플릿에 추가하는 좋은 예를 어디에서 찾을 수 있는지 알고 있습니까?애플릿에 이미지를 추가하는 좋은 예를 찾고 있습니다.

나는 온라인 상태이지만 애플릿을 실행하면 내 이미지가 표시되지 않습니다.

public class Lab5 extends JApplet { 
     //Lab5(){} 


     Image img; 

     public void init() { 
       img = getImage(getDocumentBase(), "img\flag0.gif");     
     } 


     public void paintComponent(Graphics g) { 
      g.drawImage(img, 50, 50, this); 
     } 
} 

다음은 여기 내 HTML 파일

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 
    <applet code="Lab5.class" width= 250 height = 50></applet> 
    </body> 
</html> 
+1

내가 본 것처럼 많은 예제가 있습니다. 나는 우리가 "더 나은"예를 가리킬 수있는 방법을 모르거나 어떤 사이트를 공부했는지, 현재 예제를 이해하지 못했는지, 어떤 코드가 아닌지 구체적으로 알려주지 않으면 유용한 조언을 제공 할 수 있는지 확신 할 수 없습니다 당신을 위해 일하고 어떤 오류가 있는지보실 수 있습니다. 괜찮은 대답을 얻기를 원한다면이 질문에 더 많은 노력을 기울이십시오. –

+1

먼저 애플릿을 만드는 방법에 대한 자습서를 읽는 것이 좋습니다. ImageIcon과 JLabel에 이미지를 넣는 것을 고려하십시오. 그런 다음 JLabel에 BorderLayout과 같은 적절한 레이아웃 관리자를 제공하고 불투명하게 만들고 애플릿의 contentPane으로 만들 수 있습니다. 또는 JPanel의'paintComponent()'메소드로 이미지를 그리고 애플릿의 contentPane으로 만들 수 있습니다. –

+0

좋아, 다시 살펴 보겠다. 나는 저의 동급생으로부터 거의 축 어적을 복사했습니다. – Robert

답변

5

입니다 인터넷에서 URL에서 이미지를 보여주는 간단한 예입니다.

클래스 SimpleAppletImage.java

import java.awt.image.BufferedImage; 
import java.io.IOException; 
import java.net.MalformedURLException; 
import java.net.URL; 
import javax.imageio.ImageIO; 
import javax.swing.*; 

@SuppressWarnings("serial") 
public class SimpleAppletImage extends JApplet { 
    @Override 
    public void init() { 
     try { 
     SwingUtilities.invokeAndWait(new Runnable() { 
      public void run() { 
       try { 
        // you might want to use a file in place of a URL here 
        URL url = new URL("http://duke.kenai.com/gun/Gun.jpg"); 
        BufferedImage img = ImageIO.read(url); 
        MyPanel myPanel = new MyPanel(img); 
        getContentPane().add(myPanel); 
       } catch (MalformedURLException e) { 
        e.printStackTrace(); 
       } catch (IOException e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 
} 

클래스 MyPanel.java

import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.image.BufferedImage; 

import javax.swing.JPanel; 

@SuppressWarnings("serial") 
class MyPanel extends JPanel { 
    private BufferedImage img; 

    public MyPanel(BufferedImage img) { 
     this.img = img; 
     setPreferredSize(new Dimension(img.getWidth(), img.getHeight())); 
    } 

    @Override 
    protected void paintComponent(Graphics g) { 
     super.paintComponent(g); 
     if (img != null) { 
     g.drawImage(img, 0, 0, this); // corrected 
     } 
    } 
} 
을 : 당신은 아마 같은 응용 프로그램의 항아리의 디렉토리에서 개최 된 이미지로 인터넷 URL의 장소에서 자원을 사용하십시오
+0

우리는이 코드를 알아 내기 위해 몇 분 정도 걸릴거야. – Robert

+0

@AndrewThompson : 잘 찍은 점, 감사합니다! –

+0

@Andrew - Mr. Hi Standards - Thompson : 두 번째 편집 완료. –

관련 문제