Java 2D图形从URL而不是资源获取图像

Java 2D图形从URL而不是资源获取图像,java,drawing,2d,java-2d,Java,Drawing,2d,Java 2d,好的,我已经跟随了youtube的教程,用Java 2D图形进行绘图,但是我该如何做才能让它从URL而不是资源中获取图像呢 如果你能更新并将我链接到新代码,那将是一个好消息+ 提前谢谢你 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.JPanel; public

好的,我已经跟随了youtube的教程,用Java 2D图形进行绘图,但是我该如何做才能让它从URL而不是资源中获取图像呢

如果你能更新并将我链接到新代码,那将是一个好消息+

提前谢谢你

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JPanel;

public class Screen extends JPanel {

    private BufferedImage image;

    public Screen() {
        try {
            image = Image.IO.read(getClass().getResourceAsStream("/imagee.png"));
        } catch(IOException e) {
            e.printStackTrace();
        }

        repaint();
    }

    public void paint(Graphics g) {
       g.drawImage(image, 10, 10, null);
    }

}       
我不太懂Java,我只需要做一些事情,比如

image = Image.IO.read(new URL("http://..."));
FYI
Class#getResource
返回一个
URL


如果代码是教程中的一个示例,那么教程是错误的,您应该找到一个新的。不要覆盖
paint
,而是覆盖
paintComponent
。您必须调用
super.paint
(或
super.paintComponent
,如果您已覆盖
paintComponent
),以维护绘制链并防止可能的图形故障发生。使用
JLabel

也会更容易。您应该尝试获取URL对象:

URL=新URL(“URL”)

BuffereImage image=ImageIO.read(url)


创建一个URL实例并将其传递给ImageIO.read…如果代码是教程中的一个示例,那么教程是错误的,应该找到一个新的。不要替代“绘制”,而是替代“绘制组件”。必须调用super.paint(或super.paintComponent,如果已覆盖paintComponent),以维护绘制链并防止可能的图形故障发生。使用JLabel也会更容易…对不起,方法是从ImageIO读取的:buffereImage=ImageIO.read.(url);(没有最后一个点)已修复。这两种代码(程序员和我的)都应该正常工作