Java 将图像添加到画布

Java 将图像添加到画布,java,swing,graphics,awt,Java,Swing,Graphics,Awt,我知道这里有关于堆栈溢出的问题,但我并没有在课堂上扩展画布。有没有其他方法可以在背景上画一个图像 //使用其他东西设置JFrame Canvas c=新画布(); 图像img; 试一试{ img=ImageIO.read(新URL(“https://bitterli.us/namelogo.pngopenStream()); img=img.getScaledInstance(700,145,0); }捕获(IOE2异常){ //TODO自动生成的捕捉块 e2.printStackTrace()

我知道这里有关于堆栈溢出的问题,但我并没有在课堂上扩展画布。有没有其他方法可以在背景上画一个图像

//使用其他东西设置JFrame
Canvas c=新画布();
图像img;
试一试{
img=ImageIO.read(新URL(“https://bitterli.us/namelogo.pngopenStream());
img=img.getScaledInstance(700,145,0);
}捕获(IOE2异常){
//TODO自动生成的捕捉块
e2.printStackTrace();
}
c、 挫折背景(颜色:黑色);
JPanel p=新的JPanel();
c、 立根(1005001050500);
p、 setLayout(新的BorderLayout());
p、 添加(c,BorderLayout.CENTER);
p、 立根(100,50,1050600);
框架。添加(p,边界布局。北);

不要使用画布,只需使用
JPanel
并覆盖
paintComponent()


您需要扩展画布(根据其他问题)并在其绘制方法中绘制。或者添加一个JLabel,并将图像显示为标签内的图像图标。既然AWT GUI库已经过时20多年了,您为什么要开始使用它?另外,setBounds并不是您的朋友,这里可能是最好的答案:
public void paintComponent(Graphics g) {
  super.paintComponent(g);
  g.drawImage(img, 0, 0, null);
}