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