我無法獲取要在JFrame上顯示的圖像。 運行時車架全黑。這裏是我的代碼:未在JFrame上顯示Java - BufferedImage
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
public class JFrameTesting extends JFrame {
BufferedImage test = null;
public static void main(String[] args) throws URISyntaxException {
new JFrameTesting();
}
public JFrameTesting() throws URISyntaxException {
JFrame frame = new JFrame("My first JFrame!");
frame.setSize(400, 400);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
test = ImageIO.read(new File(getClass().getResource("test.png").toURI()));
} catch (IOException ex) {
Logger.getLogger(JFrameTesting.class.getName()).log(Level.SEVERE, null, ex);
}
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(test, 200, 200, null);
}
}
我不知道我是否nessecarily做任何錯誤。運行時我完全沒有錯誤。
提前致謝!
你如何運行代碼? –
您可以在JLabel上調用setIcon(),並將該標籤放置到框架上 – Chains
嘗試通過覆蓋'paintComponent'方法而不是直接在框架上繪製'JFrame'內的'JPanel'。 –