java - 在java中并排显示来自磁盘和URL的图片
问题描述
我想在从磁盘显示的图片旁边添加来自 URL 的图片,但在第 36 行收到错误并且不知道如何对其进行排序。你能帮我弄清楚吗?
它在线程“AWT-EventQueue-0”java.lang.Error 中返回异常:未解决的编译问题:未处理的异常类型 IOException
那么我应该抓住 MalformedURLException e + IOException e 吗?
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.awt.Image;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class ObrazPanel extends JPanel {
private BufferedImage image;
private BufferedImage image2;
public ObrazPanel() {
super();
File imageFile = new File("C:\\Users\\KostrzewskiT\\eclipse-workspace\\zdjecie\\src\\zdjecie\\java.jpg");
//File imageFile2 = new File("C:\\Users\\KostrzewskiT\\eclipse-workspace\\zdjecie\\src\\zdjecie\\java2.jpg");
try {
image = ImageIO.read(imageFile);
// image2 = ImageIO.read(imageURL);
} catch (IOException e) {
System.err.println("Blad odczytu obrazka");
e.printStackTrace();
}
try {
URL imageURL = new URL ("http://beautyinspiration.pl/wp-content/uploads/2015/12/i-coach-otw.jpg");
image2 = ImageIO.read(imageURL);
} catch (MalformedURLException e) {
System.err.println("Blad odczytu obrazka");
e.printStackTrace();
}
//wymiar wyswietlanych obrazkow
Dimension dimension = new Dimension(image.getWidth() + image2.getWidth(), image2.getHeight());
setPreferredSize(dimension);
}
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(image, 0, 0, this); //punkty w ktorych jest wyswietlane
g2d.drawImage(image2, image.getWidth(), 0, this);
}
}
解决方案
我更正我的代码
try {
URL imageURL = new URL ("path");
image2 = ImageIO.read(imageURL.openStream());
} catch (IOException d) {
System.err.println("Blad odczytu obrazka URL");
d.printStackTrace();
这是正确的方式,还是超出最佳实践?
推荐阅读
- ruby - 如何点击只能由自定义属性识别的按钮?
- bash - Bash 无法在脚本中执行特定等式
- jquery - 如何将具有相同文本值的顺序列表项包装在新元素中?
- c# - 如何找出 .NET Core 中 PhysicalFileProvider 更改了哪些文件?
- swift - RxSwift 捕获网络和可达性错误
- bash - 来自 bash 和来自 sh 的调用行在行为上有所不同
- xamarin.mac - 从 PKG 文件安装应用程序在应用程序中不可见
- python - 将 ms 转换为 datetime 时应用时区
- java - Swagger API 标签描述未发布
- c# - 如何使可扩展的表格视图用作子菜单?