2010-07-11 41 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類(a 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 2010-07-12 05:55:14