Jpg in BufferedImage Reader oder Array ablegen?

DefconDev

Bekanntes Mitglied
Hallo zusammen,

ich habe mal wieder eher ein Anfänger Problem.

Ich suche eine Möglichkeit jpg Bilder in meinem Projekt-Ordner, Bild für Bild in ein Objekt abzulagern.

Reicht dort der BufferedImage Reader oder brauch ich was anderes?

Gibt es auch eine Möglichkeit die Bilder direkt in ein Array abzulagern? Wenn ja, welche Klasse muss ich dafür nehmen?
 
Moin,

was genau meinst Du den mit "ablagern" ???:L

Zum Lesen der Bilddatei reicht der BufferedReader!

Was Du dann mit den Daten machen willst, kann ich so nicht beurteilen!
Vielleicht reicht ein byte-Buffer, oder ein Überführen in ein "Image".

Was hast Du denn damit vor ?

Gruß
Klaus
 
Ok, ich habe mich etwas umständlich ausgedrückt.

Ich habe eine Jlist eingebettet in einer Defaultliste, in dieser Liste sind Objekte enthalten, zu jedem Objekt möchte ich bei einem rechten Klick das dazugehörige Bild anzeigen lassen. Aufgerufen wird das Bild mit der Desktop Klasse, also mit einem Standard-Bildbetrachter des jeweiligen Nutzer(Nur so am Rande).

Also mein Gui Konstrukt steht soweit nur wollte ich meinen code etwas Objektorientierter gestalten, bisher wurde das mit simplen If fragen gelöst. Also bisher waren es Strings in der Jlist, die dann in der If frage verglichen wurden und dann wurde das Bild aufgerufen.

Ich hoffe du verstehst mich 🙂
 
Moin,


Offen gestanden: weniger als zuvor!

Mir ist nicht wirklich klar, was Du da versucht ... und schon gar, wo Du ein Problem hast !

Gruß
Klaus


Hat sich eigentlich erledigt. Ziel in diesem thread war es, eine neue Klasse zu schreiben die namen meiner Objekte in der Jlist beinhaltet und die Bilder zum jeweiligen Objekt. Die dann später in einer JList per rechts klick(im fenster) die Bilder anzeigen lassen.

Lösung für mich:

Java:
@Override
		public void mousePressed(MouseEvent e) {
			
			JList theList = (JList) e.getSource();
			
			if(MouseEvent.BUTTON3 == e.getButton())
			{
				int index = theList.locationToIndex(e.getPoint());
				if (index >= 0) 
				{
		            Object o = theList.getModel().getElementAt(index);
		           
		            for(int i=0;i<mapNamen.length;i++){
		            	if(o.toString().equals(mapNamen[i]))
		            	{
		            		
		            		
		            		
		            		//Desktopobjekt holen
			            	Desktop desktop = Desktop.getDesktop();
			            				
			            	//Datei mit Standard Programm öffnen
			            	File jpg;
			            	try {
			            	  jpg = new File("src//jpg//"+mapNamen[i]+".jpg");
			            	  desktop.open(jpg);
			            	}
			            	catch(Exception oError) {
			            	  //Hier Fehler abfangen
			            	}
		            	}
		            	
		            }
		            
		         }
		            
		    }
			
		}
 
Meintest du sowas in der Art ?

Java:
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;


public class Image{

	private String name;
	private BufferedImage image;
	
	public Image(String name, String file){
		this.name = name;
		
		try {
			image = ImageIO.read(getClass().getResource(file));
		}
		catch (Exception ex) {
			ex.printStackTrace();
		}
		
	}
	
	public String getName()			{return name;}
	public BufferedImage getImage()	{return image;}
}
 

Zurück
Oben