2013-05-22 5 views
0

내 이미지가 표시되지 않는 이유는 무엇입니까? 버튼은 항상 있지만 이미지가 나타나지 않습니다. 프로그래밍 문제가 아닐 수도 있습니다. 이미지를 어디에 배치해야합니까?이미지가 JFrame에 표시되지 않습니다.

퍼스트 클래스 파일 :

public class start { 
    public static void main(String args[]){ 
     menu m1 = new menu(); 
     m1.setVisible(true); 
    } 
} 

두 번째 클래스 파일 :

import java.awt.BorderLayout; 
import java.awt.GridBagConstraints; 
import java.awt.GridBagLayout; 
import java.awt.Insets; 

import javax.swing.*; 

public class menu extends JFrame{ 

    private static final long serialVersionUID = 1L; 

    public menu(){ 
     super("Parachute!"); 
     setSize(1000, 800); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     JPanel main = new JPanel(new GridBagLayout()); 
     JPanel title = new JPanel(new GridBagLayout()); 
     GridBagConstraints gbc = new GridBagConstraints(); 
     gbc.insets = new Insets(15, 15, 15, 15); 
     JButton play = new JButton("Play!"); 
     JButton help = new JButton("Help"); 
     JButton options = new JButton("Options"); 
     ImageIcon logo = new ImageIcon("parachute.jpg"); 
     JLabel imageLogo = new JLabel(logo); 
     gbc.gridx = 0; 
     gbc.gridy = 0;   

     main.add(play, gbc); 

     gbc.gridx = 0; 
     gbc.gridy = 1; 

     main.add(help, gbc); 

     gbc.gridx = 0; 
     gbc.gridy = 2; 

     main.add(options, gbc); 
     title.add(imageLogo); 
     add(title, BorderLayout.NORTH); 
     add(main, BorderLayout.CENTER); 
    } 
} 
+0

대문자로 생성자를 호출하십시오. Menu() –

+0

@AsierAranbarri 그는'Menu'가 아닌'menu' 클래스를 만들었 기 때문에'Menu()'는 실제로 코드를 깨뜨릴 것입니다. – Ankit

+0

@Ankit 한 가지는 다른 것을 의미합니다. 클래스 이름도 대문자로 지정해야합니다. –

답변

-1

이 콘텐츠에 주요 추가 시도? 이 같은 뭔가 : getcontent().add(main, BorderLayout.CENTER)

+0

'getcontent' 함수가 존재하지 않습니다. 먼저, 그것은 getContentPane()이어야하고 두 번째로 요청 된 것과 아무런 관련이 없다. – Ankit

1

두 가지 :

먼저 레이아웃을 설정하지 않는 그것을 사용하기 전에 BorderLayout를합니다. 을 수행하십시오 parachute.jpg 파일이 존재하는 경우

setLayout(new BorderLayout()) 

둘째, 확인, 당신은 다음과 같이 확인할 수 있습니다

File f = new File("parachute.jpg"); 
System.out.println(f.exists()); 

을이 false을 인쇄하는 경우, 그것은 파일을 찾을 수 없습니다 의미합니다. 이 경우 올바른 디렉토리에 이미지 파일을 저장해야합니다.

Netbeans 또는 Eclipse와 같은 IDE를 사용하고 있다고 생각합니다. 이 경우 이미지를 프로젝트의 루트 디렉토리에 저장하십시오. 예를 들어 Test 프로젝트가 있습니다. 그런 다음 이미지 파일이 Test 폴더에 있어야합니다. IDE는 일반적으로 프로젝트 루트에서 파일을 찾습니다.

PS : 프로그래밍을 처음 사용하기 때문에 사용중인 언어의 관습을 따라야합니다. 다른 사람들이 귀하의 코드를 쉽게 이해할 수있게 해줍니다. Java 규약에 대해서는 here을보십시오.