2011-11-28 6 views
1

카드 게임을 만들려고하는데 getImage() 함수로 문제가 발생했습니다. 나는 카드 전의 문자열 배열이 있습니다)이미지를 가져온 다음 Java GUI에서 ImageIcon을 만드는 데 사용하려면 어떻게해야합니까?

private static String[] hearts = {"ah.gif","2h.gif","3h.gif","4h.gif","5h.gif","6h.gif","7h.gif","8h.gif","9h.gif","th.gif","jh.gif","qh.gif","kh.gif"}; 

내 된 GetImage이 (다음과 같습니다 : 내가하려고 할 때

public String getImage(Card card){ 

    if (0 == suit){ 
     img = hearts[rank]; 
    } 
    else if (1 == suit){ 
     img = spades[rank]; 
    } 
    else if (2 == suit){ 
     img = diamond[rank]; 
    } 
    else if (3 == suit){ 
     img = clubs[rank]; 
    } 

을하지만,이 문자열로 저장되기 때문에, 오류가 발생합니다 ImgIcon으로 img를 사용하는 예 :

ImageIcon image = (card.getImage(card)); 
    JLabel label = new JLabel(image); 

어떤 아이디어? 감사합니다

답변

1

ImageIcons의 배열을 만들고 String 배열과 for 루프를 사용하여 Icon 배열을 만듭니다. 단순한. :)

// in declaration section 
private ImageIcon heartsIcons = new ImageIcon[hearts.length]; 

    // in code section 
    try { 
    for (int i = 0; i < hearts.length; i++) { 
     // you may need different code to get the Image file vs. resource. 
     BufferedImage img = ImageIO.read(getClass().getResource(hearts[i])); 
     heartsIcons[i] = new ImageIcon(img); 
    } 
    } catch (IOException e) { 
    e.printStackTrace(); 
    } 
+0

사례를 게시 할 수 있습니까? 나는 ImageIcons의 배열을 만들려고했지만 전에 본 적이 없었던 많은 오류가 있습니까? –

+0

@DanielCampbell : 예 : 위. 잘못된 것을 파악하기 위해 코드와 오류 메시지를 게시 할 수 있습니다. –

+0

나는 캠 2 개의 오류를 게시했다. 코드가 필요한 경우 게시 할 것입니다. 내 생각 엔 가져 오기 파일이 누락되었지만 확실하지 않습니다. –

관련 문제