2015-02-04 3 views
0

행맨 게임을위한 프로그램을 만들고 있는데 배경을 단색이 아닌 JPEG 이미지로 만들고 싶습니다. 그러나 내 프로그램을 실행하면 배경 이미지가 나타나지 않습니다. 이견있는 사람? MainWindow.java라는 다른 파일에서왜 배경 이미지가 나타나지 않습니까?

import java.awt.*; 
import javax.swing.*; 

    public class HangmanFigure extends JPanel { 
     private int guesses; 
     private Image background; 

      public HangmanFigure() { 
      super(); 
      guesses = 0; 
      setPreferredSize(new Dimension(300, 300)); 

      //setting background color 
      //setBackground(Color.BLACK); 

      //setting background image to JPEG 
      background = Toolkit.getDefaultToolkit().createImage("/Desktop/scaryTown.jpg"); 

      //set to true because we want to see the background 
      setOpaque(true); 
      } 

      @Override 
      public void paintComponent(Graphics g) { 
      super.paintComponent(g); 

      g.drawImage(background, 0, 0, null); 
      //No need to worry about the rest of the elements in this method, I'm just having issues with the background image! 
      ... 
      } 
     } 

HangmanFigure.java는, 나는 주요 방법이있다. (이것이 교수형 집행자의 일부가 아닌 다른 모든 것에 대한 그래픽을 제공하는 곳입니다.) 미리 감사드립니다. 바로 이클립스 폴더를 클릭하여 빌드 경로로 배경 사진을 포함하는 자원 폴더를 추가 할 수

+0

인가를? 동일한 디렉토리에 없다면 해당 디렉토리로 이동해야합니다 ... ../< 완전한 파일 경로> –

+0

오! 그렇게하지 않으면 이미지를 디렉토리로 옮기면 작동할까요? 그렇다면 내가 가지고있는 것 대신에 "scaryTown.jpeg"라고 말할 수 있을까요? 그리고 감사합니다! – Karen

+0

맞아! 응용 프로그램은 루트 디렉토리에서 포함될 파일을 찾습니다. –

답변

0
  • 시도는 다음 경로를 구축 -> 소스 폴더로 사용, 당신은 넣어 가지고 juste "/ YoursourceFolderName/scaryTown.jpg "

당신이 사용에게 다음과 같은 명령을 컴파일하려면 명령 줄을 사용하는 경우 : 프로그램에서 실행되고있는 디렉토리에 이미지 파일이

javac -d bin -sourcepath YourSourceFolder pathToTheJavaCode/*.java 
+0

"YoursourceFolderName"을 포함하면 이미지가 포함 리소스가됩니다. 즉, op가 IDE 외부에서 jar 파일을 실행하려고하면 이미지가로드되지 않을 가능성이 있습니다 (이미지가 참조하는 것처럼). 자원이 아닌 파일) – MadProgrammer

관련 문제