У меня возникли проблемы с получением изображения для показа на JFrame. Рамка полностью белая. Вот мой код:Java - BufferedImage не отображается на JFrame
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);
}
}
Я не уверен, что я делаю что-то не так. У меня нет ошибок при запуске.
Заранее благодарен!
Как запустить свой код? –
Вы можете вызвать setIcon() в JLabel и поместить эту метку на кадр. – Chains
Попробуйте нарисовать 'JPanel' внутри' JFrame', переопределив метод paintComponent', а не непосредственно в фрейме. –