2016-06-21 13 views
-4

Ich habe eine Objektklasse und innerhalb dieser Klasse habe ich eine Rendermethode. Ich würde gerne wissen, wie ich ein Bild rendern kann.So laden Sie ein Bild in ein Objekt

Ich habe das Netz gesucht, aber es ist alles so vage, ich bin ziemlich neu zu codieren, so dass ich am Ende frage.

+0

bitte mehr Kontext und/oder Code enthalten. Verwenden Sie einen JFrame oder etwas anderes? [Hier] (https://github.com/Dando18/DataDisplay/blob/master/src/com/datadisplay/ImageView.java) ist ein Code, den ich vorher geschrieben habe, der Ihnen vielleicht einen Hinweis geben könnte. – Dando18

+0

Kannst du uns auf das Tutorial verweisen, das du verfolgst? Und das nächste Mal ist es besser, wenn du nach den "mehrdeutigen Teilen" eines solchen Tutorials fragst als nach * Wie mache ich X? * Wenn es im Tutorial vage ist Antworten werden ebenso zweideutig sein; es ist auch nicht vorteilhaft für andere Mitglieder in der Gemeinschaft, da es eine sehr spezifische Frage ist, versuchen Sie immer gehen Sie generisch, wenn Sie fragen und gehen Sie spezifisch in den Kommentaren. ** Willkommen in der Community @ Karl ** (Ich rate Ihnen [diese Lesung] (http://stackoverflow.com/help/how-to-ask)) – Ordiel

Antwort

0

Wenn Sie einen JFrame hinzufügen, um dieses JPanel an den Rahmen verwenden:

import java.awt.Graphics; 
import java.awt.Graphics2D; 
import java.awt.Image; 
import javax.imageio.ImageIO; 
import java.io.IOException; 
import javax.swing.JPanel; 

public class ImageView extends JPanel{ 
    private static final long serialVersionUID = 1L; 

    private Image img; 

    private int x = 0; 
    private int y = 0; 
    private int width = this.getWidth(); 
    private int height = this.getHeight(); 

    public ImageView(){ 
     super(); 

     try{ 
      img = ImageIO.read(new File("<img_path>.jpg")); 
     }catch(IOException ex){ 
      // catch exception 
     } 
    } 

    @Override 
    public void paintComponent(Graphics g){ 
     super.paintComponent(g); 
     Graphics2D g2d = (Graphics2D) g; 

     if(img!=null){ 
      g2d.drawImage(img, x, y, width, height, this); 
     } 
    } 

    // your render method 
    public void render(Image img){ 
     this.img = img; 
     repaint(); 
    } 

}