这个是我的代码
```java
package game;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class MainFrame extends JFrame {
Image bg=Toolkit.getDefaultToolkit().getImage("images/sky.jpg");
private JPanel contentPane;
@Override
public void paint(Graphics g) {
// TODO Auto-generated method stub
super.paint(g);
g.drawImage(bg, 0,0,null);
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainFrame frame = new MainFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public MainFrame() {
setFont(new Font("Bahnschrift", Font.PLAIN, 16));
setBackground(Color.GRAY);
setTitle("\u7BA1\u96EA\u51AC\u7684\u9EC4\u91D1\u77FF\u5DE5");
paint(getGraphics());
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 790, 668);
contentPane = new JPanel();
contentPane.setForeground(Color.ORANGE);
contentPane.setToolTipText("");
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
contentPane.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub
}
});
}
}
这个是我的文件夹:
用了相对路径和绝对路径都不行
错误是g为空,paint(getGraphics());
public void paint(Graphics g) {
super.paint(g);
g.drawImage(bg, 0,0,null);
}
检查g
JAVA中传递的路径需要双斜杠,你看看路径有没有写错,