Не вставляется изображение JFrame
Всем привет! Я уже создала окно с помощью JFrame, но у меня с ним какие-то проблемы с загрузкой изображения. Может кто-то поможешь найти ошибку при вставке изображения? Программа работает без ошибок, но изображения нет. Скорее всего это связано с тем, что при передаче изображения в g.drawImage нет этого серенького img(на первой картинке нет, но при добавлении какого-то символа появляется, пробовала еще третий вариант, но там такая же фигня).



import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.io.File;
import java.io.IOException;
public class MyPanel extends JPanel {
private Image im;
public MyPanel()
{
try {
im = ImageIO.read(new File("workout-machine.png"));
}catch (IOException e)
{
}
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage( im,22,22,null);
}
}
import sun.awt.image.ToolkitImage;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.URL;
public class MainWindow extends JFrame
{
final int WIDTH = 1000;
final int HEIGHT = 700;
JButton btnSend = new JButton("Войти");
JButton btnClear = new JButton("Регистрация");
JButton btnExit = new JButton("Закрыть");
URL url = getClass().getResource("icon.png");
ImageIcon icon = new ImageIcon(url);
JTextField loginField = new JTextField("login");
JPasswordField passwordField = new JPasswordField("Введите пароль");
// Image image = Toolkit.getDefaultToolkit().getImage("workout-machine.png");
public MainWindow()
{
MyPanel panel = new MyPanel();
Container pane = getContentPane();
pane.add(panel);
/*this.setContentPane(new JPanel()
{
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(image, 300,300, 300, 300, this);
}
});*/
this.setIconImage(icon.getImage());
setSize(WIDTH,HEIGHT);
setResizable(false);
setLayout(null);
btnSend.setBounds(600,400,150,60);
btnClear.setBounds(760,400,190,60);
btnExit.setBounds(810,580,140,40);
btnSend.setFont(new Font("Serif", Font.BOLD, 25));
btnClear.setFont(new Font("Serif", Font.BOLD, 25));
btnExit.setFont(new Font("Serif", Font.BOLD, 23));
this.add(btnSend);
this.add(btnClear);
this.add(btnExit);
loginField.setBounds(600,200,350,60);
passwordField.setBounds(600, 300,350,60);
loginField.setFont(new Font("Serif", Font.ITALIC, 20));
passwordField.setFont(new Font("Serif", Font.ITALIC, 20));
passwordField.setEchoChar('*');
this.add(passwordField);
this.add(loginField);
}
}