Im getting an error here with ImageIO.read and is there anyway to do try and catch, I guess you have to do it anyway with URL...could comeone help me please...thanks
this is what its telling me
import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Image; import java.awt.event.ActionEvent; import java.io.IOException; import java.net.URL; import javax.imageio.ImageIO; import javax.swing.AbstractAction; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JPanel; public class Main { public static void main(String[] args) throws IOException { final Image image = ImageIO.read(new URL("http://sstatic.net/so/img/logo.png")); final JFrame frame = new JFrame(); frame.add(new ImagePanel(image)); frame.setSize(800, 600); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } @SuppressWarnings("serial") class ImagePanel extends JPanel { private Image image; private boolean tile; ImagePanel(Image image) { this.image = image; this.tile = false; final JCheckBox checkBox = new JCheckBox(); checkBox.setAction(new AbstractAction("Tile") { public void actionPerformed(ActionEvent e) { tile = checkBox.isSelected(); repaint(); } }); add(checkBox, BorderLayout.SOUTH); }; @Override public void paintComponent(Graphics g) { super.paintComponent(g); if (tile) { int iw = image.getWidth(this); int ih = image.getHeight(this); if (iw > 0 && ih > 0) { for (int x = 0; x < getWidth(); x += iw) { for (int y = 0; y < getHeight(); y += ih) { g.drawImage(image, x, y, iw, ih, this); } } } } else { g.drawImage(image, 0, 0, getWidth(), getHeight(), this); } }
this is what its telling me
Exception in thread "main" javax.imageio.IIOException: Can't get input stream from URL! at javax.imageio.ImageIO.read(Unknown Source) at Main.main(Main.java:18) Caused by: java.io.FileNotFoundException: http://sstatic.net/so/img/logo.png at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) at java.net.URL.openStream(Unknown Source) ... 2 more