请问我正在使用java编写2D游戏,但是当我拖动JFrame时,我的背景图像没有加载它加载的JFrame,因为它可以调整大小
import javax.swing.*;
import java.awt.*;
public class imageLearn1 extends JFrame{
private Image im;
private JPanel p1;
public imageLearn1(){
this.setSize(300,400);
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
p1=new paintIt();
this.add(p1);
}
class paintIt extends JPanel{
public paintIt(){
ImageIcon ima=new ImageIcon("ballfall3.jpg");
im=ima.getImage();
im=im.getScaledInstance(200,-1,Image.SCALE_DEFAULT);
}
public void paintComponent(Graphics g){
super.paintComponent(g);
if(im!=null){
g.drawImage(im,0,0,300,400,this);
}
}
}
public static void main(String[]args){
new imageLearn1();
}
}
答案 0 :(得分:2)
在使框架可见之前,必须将组件添加到框架中。代码的顺序应为:
p1=new paintIt();
this.add(p1);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(300,400);
this.setLocationRelativeTo(null);
this.setVisible(true);
此外,类名应以大写字母开头。你的类名应该是“PaintIt”。