Java 2D 图形从 URL 而不是资源获取图像
Java 2D Graphics get image from URL instead of resource
好的,所以我已经按照 THIS youtube 教程使用 Java 2D 图形进行绘图,但是我该怎么做才能从 URL 而不是从 URL 获取图像资源 ?
如果可以,请更新并 link 我使用新代码,那将是 +
非常感谢您
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://..."));
仅供参考 Class#getResource
returns 一个 URL
如果代码是教程中的例子,那么教程是错误的,你应该找一个新的。不要覆盖 paint
,而是覆盖 paintComponent
。您必须调用 super.paint
(或者如果您覆盖了 paintComponent
,则调用 super.paintComponent
)以维护绘制链并防止可能的图形故障发生。使用 JLabel
...
也会更容易
您应该尝试获取一个 URL 对象:
URL url = new URL("the-URL");
BufferedImage image = ImageIO.read(url);
好的,所以我已经按照 THIS youtube 教程使用 Java 2D 图形进行绘图,但是我该怎么做才能从 URL 而不是从 URL 获取图像资源 ?
如果可以,请更新并 link 我使用新代码,那将是 +
非常感谢您
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://..."));
仅供参考 Class#getResource
returns 一个 URL
如果代码是教程中的例子,那么教程是错误的,你应该找一个新的。不要覆盖 paint
,而是覆盖 paintComponent
。您必须调用 super.paint
(或者如果您覆盖了 paintComponent
,则调用 super.paintComponent
)以维护绘制链并防止可能的图形故障发生。使用 JLabel
...
您应该尝试获取一个 URL 对象:
URL url = new URL("the-URL");
BufferedImage image = ImageIO.read(url);