Also das Ziel meines Projektes ist, dass man ein Fenster hat wo oben eine Savanne ist und dann kann man verschiedene Tiere wählen und einfügen, die sich denn da random hin und her bewegen. (und am besten sich aus dem Weg gehen, aber das wäre nur ein Special :D) und wenn ein Löwe ein anderes Tier berührt „frisst“ er dieses, also das Tier wird dann aus der Liste entfernt.
Man kann den Vorgang mit einem Stop-Button stoppen, mit einem Start-button Starten und mit einem Stepper-Butten kann man jedes Tier um einen Step versetzen… Eine Save- und Loadfunktion soll auch vorhanden sein(die hab ich noch gar nicht Da bräuchte ich Hilfe )
Und das wo ich wirklich gar nicht weiter komme ist, die Tiere in die Savanne einzufügen… ich hab absolut keinen Ansatz wäre cool wenn DU da was zaubern könntest!
Und wo ich noch eine Frage hab ist: Ich habe ein Bild eingefügt. Allerdings nur mit einem Pfad zu einem Bild von meinem Rechner. Wie kann ich ein Bild einfügen, was jeder von jedem Rechner öffnen kann?
Ich würde mich freuen, wenn genau DU mir helfen könntest!
Ich würde dir das Projekt auch schicken um mal drüber zu schauen. Also entweder hier antworten, per Mail (isy_puttrus@yahoo.de) oder auf Skype (isypinky)
Also das DU geht mir ja mal völlig auf´n Sack sry und ob es sich um “Kleinigkeiten” handelt, wage ich zu bezweifeln.
Also wenn DU bereit bist, dafür zu bezahlen, dann ab in die Jobangebote, oder DU rüstest dich mit dem entsprechenden Wissen und stellst konkrete Fragen mit Code zu den Stellen, die DIR wirklich sorgen bereiten.
Da es nur ein kleines Privates Projekt ist einfach des Programmieren-Lern-willens sind es schon Kleinigkeiten!
Und ich habe die Stelle an der ich nicht weiter komme glaub ich ausreichend genug Beschrieben. Und die Frage mit dem Bild-Pfad war meiner Meinung nach auch recht Präzise.
Aber wenn DU das anders siehst, dann kann ich auch den Code dazu posten… weiß nur nicht was das bringen soll… man versteht das Problem auch so.
public class ImageExample extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
static ImageExample window;
GraphicPanelEx paintArea;
BufferedImage picture;
static String imageFile = "/Users/Isy/Desktop/Einfach Alles/Savanna2.jpg";
JButton imageButton;
ThingForAnimals thingForAnimals;
ImageExample(String title) {
int height, width;
setLayout (new BorderLayout());
picture = null;
try {
picture =ImageIO.read(new File(imageFile));
height = picture.getHeight();
width = picture.getWidth();
} catch (IOException e2) {
System.err.println(e2.getMessage());
height = 0;
width = 0;
}
Savanna savanna = new Savanna(height, width);
this.thingForAnimals = new ThingForAnimals(savanna);
this.paintArea = new GraphicPanelEx();
add(paintArea,BorderLayout.CENTER);
.
.
.
Trotz der unfreundlichen Antwort (ich weiß nicht warum, denn ich habe Probleme beim Java-Lernen und deshalb bin ich in ein Java-Forum gegangen und ab sehr freundlich gefragt) bedanke ich mich für den Link!
Die Bilder kann man zusammen mit den Klassen in einem jar ausliefern.
Zum Thema Bilder laden gibt es hier im Wiki eine Zusammenstellung: http://wiki.byte-welt.net/wiki/Grafikdateien_laden_und_anzeigen#ImageIO
Meine bevorzugte Variante ist: Laden eines Bildes in einem Package absolut zu einer Klasse aus einem InputStream
„Und das wo ich wirklich gar nicht weiter komme ist, die Tiere in die Savanne einzufügen… ich hab absolut keinen Ansatz“
ist in der Tat etwas, was man nicht viel deutlicher schreiben kann,
da kannst du nur das Projekt bereitstellen und andere bearbeiten es, was nicht gerade üblich ist,
oder du übernimmst doch selber die Aufgabe, musst den Weg herausfinden (z.B. die nächsten 2 Stunden bis 4 Tage den Link durcharbeiten)
und Code posten und Fehler zumindest identifizieren usw.
dass du jetzt Code gepostet hast, passt zu ‚hab absolut keinen Ansatz‘ eigentlich gar nicht
ohne weitere Fehlerbeschreibung kann man dazu wenig sagen,
wird das Bild nicht geladen weil vielleicht falscher Pfad?
aber auch ein erfolgreiches Bild kann an 20 weiteren Stellen schlicht falsch verwendet werden, da braucht es schon ein vollständiges Testprogramm,
jedes … kann fatal den Fehler enthalten
Bilder laden ist immer ungünstig, geht auf Java-fremde Schritte, benötigt Dateien an richtiger Stelle auf Festplatte,
besser erstmal ein Java-Programm für sich arbeiten lassen, male einen Kreis an entsprechender Stelle in der GUI bzw. verschiedenes je nach Auswahl,
wenn auf dieser Ebene alles funktioniert kann man an Austausch denken
[QUOTE=_Michael;65236]Meine bevorzugte Variante ist: Laden eines Bildes in einem Package absolut zu einer Klasse aus einem InputStream[/QUOTE]
relativ zu einer Klasse? ‚absolut zu‘ gibt es eigentlich nicht
Hm, also freundlich ist das mit dem DU echt nicht. Das impliziert einen gewissen Zwang, den DU sicher beansichtig hast. Dieses psychologische Konstrukt mit dem direkten Ansprechen funktioniert so rum nur leider nich, vorallem nicht virtuell. ;o)
Zu dem Bild: Wenn du deine Quelle mit in die Jar packst, kannst du auch so auf das entsprechende Bild zugreifen ohne es explizit auf den Rechner zu kompieren, dazu holst du dein Bild mit dem Pfad zu deiner jar, wo sie gerade abgelegt ist. Eine .jar ist dann vergleichbar mit einer gepackten datei und damit kannst du auch auf deren Inhalt zugreifen.
schau mal hier: http://www.javabeginners.de/Ein-_und_Ausgabe/Ressourcen_laden.php
Deine Beschreibung ist nutzlos, sagst nichtmal um welche Frameworks/APIs (Swing, etc. pp.) es geht bzw. welcher Kontext (Web, Desktop, etc. pp.).
All das laesst sich aber am Quellcode erkennen.
Wie kann ich ein Bild einfügen, was jeder von jedem Rechner öffnen kann?
Nun, dass muss jeder Rechner auf dieselben Ressourcen zugreifen koennen welche die Bilder bereitstellen.
zB. HTTP Server, Datenbank, Netzlaufwerk, etc. pp.
@_Michael vielen lieben Dank, werde ich gleich so machen.
Und für alle die einfach mal das Projekt anschauen wollen füge ich es als Anhang an.
Ich hänge im Moment an der Stelle, ich die Tiere als Bilder auf das Savannenbild bekomme. Ich kann dazu leider keinen Code posten. Weil ich ja leider nicht weiß, wie ich darangehen soll…
@SlaterB Danke werd ich mich auf jeden fall dran setzen! Ich will wirklich keine Komplettlösung nur irgendwie einen Ansatz wie ich die Viecher da als Bilder auf die Savanne bekomme Aber vielleicht schaff ichs ja mit Tutorium !
Also ich(für meinen Teil, erhebe keinen Anspruch auf die sinnigste Lösung ;)) würde vermutlich das Hintergrundbild als Bild in den Hintergrund malen und darauf dann die tiere als Bilder platztieren.
Pseudocode:
{
image = new BufferedImage("hier hintergrundbild")
Graphics g = image.getGraphics();
g.drawImage("hier tier" - beliebige Koordinaten)
}
public synchronized void paintComponent(final Graphics g)
{
super.paintComponent(g);
g.drawImage(image, null, 0, 0);
}```
[QUOTE=SlaterB]relativ zu einer Klasse? ‘absolut zu’ gibt es eigentlich nicht[/QUOTE] @SlaterB Die Variante wird im Wiki so bezeichnet. Es gibt noch die Variante relativ, aber die funktioniert meiner Meinung nach aus einem jar heraus nicht.
“absolut” vermutlich weil hier das komplette Package ausgehend vom Root angegeben wird.
@mymaksimus Es kommt leider eine Fehlermeldung, wenn ich auf den „link“ gehe. Magst du den vielleicht noch einmal posten? Danke schön!
Und auch an alle anderen, vielen Dank! Ich hab es zwar noch nicht geschafft, und bin weiterhin für Tipps offen, hab aber schon gute Tutorials und Ansätze bekommen, so dass ich hoffentlich bald Tiere durch meine Savanne laufen lassen kann
Aber wie gesagt, das ist ziemlich schlechter und mal eben hingeklatschter code, den du sowieso zumindest erstmal in verschiedene Klassen auslagern solltest.
Aber es dürfte dir einen Ansatz geben.