2015-01-13 3 views
0

Хорошо, поэтому я следовал THIS учебник по youtube для рисования с Java 2D Graphics, однако как бы я сделал это, чтобы он извлекал изображение из URL вместо ресурсов?Java 2D Graphics получить изображение из 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, мне просто нужно сделать это для чего-то

+0

Создайте экземпляр URL-адреса и передайте его в ImageIO.read ... – MadProgrammer

+1

Если код является примером из учебника, то учебник ошибочен и должен найти новый. Не переопределяйте краску, вместо этого переопределите paintComponent. Вы должны называть super.paint (или super.paintComponent, если вы переопределили paintComponent), чтобы поддерживать цепочку рисования и предотвращать появление возможных графических сбоев. Было бы также проще использовать JLabel ... – MadProgrammer

ответ

1

Что-то вроде ...

image = Image.IO.read(new URL("http://...")); 

FYI Class#getResource возвращает a URL

Если код является примером из учебника, то учебник ошибочен, и вы должны найти новый. Не переопределяйте paint, вместо этого переопределите paintComponent. Вы должны ДОБАВИТЬ super.paint (или super.paintComponent, если вы переопределили paintComponent), чтобы поддерживать цепочку красок и предотвращать появление возможных графических сбоев. Также было бы легче использовать JLabel ...

1

Вы должны попытаться получить объект URL:

URL URL = новый URL ("URL-");

BufferedImage image = ImageIO.read (url);

+0

Спасибо, но я получаю это при компиляции: http://prntscr.com/5s48vn – user3399851

+1

@ user3399851 'ImageIO.read (url);' – MadProgrammer

+0

Извините, это метод, считанный с ImageIO: BufferedImage image = ImageIO.read. (url); (без последней точки) –

Смежные вопросы