2010-07-11 2 views
2

코드 :비 작업의 paintComponent 방법

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

public class firstGUI extends JPanel { 

    public static void main(String[] args) { 
     JFrame frame = new JFrame(); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.setSize(500,500); 
     frame.setVisible(true); 
    } 

    public void paintComponent(Graphics g) { 
     Image image = new ImageIcon("dist.jpg").getImage(); 
     g.drawImage(image,0,0, this); 
    } 
} 

완벽하게 컴파일,하지만 난 그것을 실행할 때, 그냥 양식을 보여줍니다. 그림이 나타나지 않습니다 (또는 paintComponent의 다른 작업). 내가 빠진 것이 있습니까?

답변

4

paintComponent 메서드는 firstGUI 클래스 (JPanel)의 인스턴스 메서드입니다. 문제는 firstGUI의 인스턴스를 생성하지 않고 프레임에 추가한다는 것입니다.

다음 여분 main 방법 firstGUI 인스턴스화 프레임의 contentPane에 추가 : 수정 및 설명을위한

public static void main(String[] args) { 
    JFrame frame = new JFrame(); 
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
    frame.setSize(500, 500); 
    frame.getContentPane().add(new firstGUI()); 
    frame.setVisible(true); 
} 
+0

감사. – MoonStruckHorrors

관련 문제