【发布时间】:2021-07-28 11:48:41
【问题描述】:
我正在学习 Java 课程,目前的想法是使用 Java Graphics2D 绘制图像。我正在一步一步地按照步骤进行操作,但它似乎没有画出任何东西。面板显示在框架内,一切都正确,但未绘制图像。我使用的是 Java 15,课程是 Java 13。
JPanel 类代码:
public class MyPanel extends JPanel implements ActionListener {
Image ball;
int x = 0;
int y = 0;
MyPanel(){
this.setPreferredSize(new Dimension(PANEL_WIDTH,PANEL_HEIGHT));
this.setBackground(Color.BLACK);
ball = new ImageIcon("ball.png").getImage();
}
public void paint(Graphics g){
Graphics2D G2D = (Graphics2D) g;
G2D.drawImage(ball,x,y,null);}
JFrame类代码:
public class MyFrame extends JFrame{
MyPanel panel;
MyFrame(){
panel = new MyPanel();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.add(panel);
this.pack();
this.setLocationRelativeTo(null);
this.setVisible(true);
}
主类代码:
new MyFrame();
我挑选了大部分相关代码。
【问题讨论】:
-
您确定“ball.png”已正确加载吗?尝试检查 ball 是否为空。
-
这能回答你的问题吗? java graphics2D inside JPanel
-
“ball.png”已正确加载并包含在项目文件夹中,所以我不需要绝对路径,并且球不为空,所以我不知道。是的,那个网站对我没有帮助,bcz首先它使用另一种方式,其次它是关于绘制矩形,矩形和我一起工作。非常感谢您的努力。
-
new ImageIcon("ball.png")引用文件系统上的文件,该文件必须与代码执行的位置相同 -
其实是在项目文件夹里,在同一个位置,但是没有用