2015-05-10 79 views
-1

我只是Java編程的初學者,並且正在使用NetBeans。下面的代碼運行並且沒有錯誤顯示,但沒有看到圖像!該圖像位於這兩個類旁邊的「框架」包中。Java的drawImage方法不顯示圖像

package frame; 

import javax.swing.JPanel; 
import java.awt.Graphics; 
import java.awt.image.BufferedImage; 
import java.io.IOException; 
import javax.imageio.ImageIO; 

public class Screen extends JPanel{ 

    private BufferedImage image; 

    public Screen(){ 
     try { 
      System.out.println("OK"); 
      image = ImageIO.read(getClass().getResourceAsStream("phantomPDF.png")); 
     } catch(IOException e) { 
      e.printStackTrace(); 
     } 

    repaint(); 
    } 

public void paint(Graphics g){ 
    g.drawImage(image, 100, 100, null); 
    System.out.println("Yes"); 
    } 

} 

,這是我的框架和主要方法:

package frame; 

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

public class Frame extends JFrame{ 

    Screen s; 

    public Frame() { 

     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setSize(400, 600); 
     setResizable(false); 
     setTitle("Graphics"); 
     setVisible(true); 

     init(); 

    } 


    public void init(){ 
     setLocationRelativeTo(null); 

     setLayout(new GridLayout(1, 1, 0, 0)); 

     s = new Screen(); 
     add(s); 


    } 

    public static void main(String[] args){ 
     new Frame(); 
    } 
} 
+0

System.out.println()是否向控制檯輸出「是」?在您加載圖像之後,您可以檢查它是否爲空,這可能有助於確定導致問題的原因。你也可以嘗試在添加Screen對象後將其設置爲可見 – AlmasB

回答

0

我不得不把「嘗試 - 抓」語句轉換成「漆」類,因此現在工作得很好......但是我爲什麼要去做?