Cześć,
jestem początkujący i nie wiem dlaczego nie działa mi sciagniecie obrazka z internetu.
Mam 3 klasy napisane w programie Eclipse:
import javax.swing.JFrame;
import javax.swing.JPanel;
public class ObrazFrame extends JFrame {
public ObrazFrame() {
super("Program obrazkowy");
JPanel obrazPanel = new ObrazPanel();
add(obrazPanel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
}
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
import java.net.URL;
public class ObrazPanel extends JPanel {
private BufferedImage image;
public ObrazPanel() {
super();
URL url = new URL("http://www.mkyong.com/image/mypic.jpg");
try {
image = ImageIO.read(url);
} catch (IOException e) {
System.err.println("Blad odczytu obrazka");
e.printStackTrace();
}
Dimension dimension = new Dimension(image.getWidth(), image.getHeight());
setPreferredSize(dimension);
}
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(image, 0, 0, this);
}
}
oraz uruchamiajace test:
import java.awt.EventQueue;
public class Test {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
new ObrazFrame();
}
});
}
}
nie działa mi ten fragment:
URL url = new URL("http://www.mkyong.com/image/mypic.jpg");
try {
image = ImageIO.read(url);
wywala błąd:
"Exception in thread "AWT-EventQueue-0" java.lang.Error: Unresolved compilation problem:
Unhandled exception type MalformedURLException"
Dlaczego tak sie dzieje ?
Jesli zmienie ten powyzszy bledny kod na :
File imagefile = new File("test.jpg");
try {
image = ImageIO.read(imagefile );
wszystko zadziała poprawnie.
Bardzo proszę o pomoc,
jest to pewnie bardzo prosta rzecz, której ja niestety nie widzę :(
Pozdrawiam,
Jacek Antek