Hallo zusammen,
ich habe eine Klasse geschrieben, die einen Pfeil zeichnet und dazu vor längerer Zeit auch mal was im forum gepostet. Weil ich ein Bild zeichnen lassen will und darüber den Pfeil wurde mir geraten das alles auf ein panel zu zeichnen und die paint methode zu überschreiben. Deshalb sieht mein Code jetzt wie folgt aus:
ich habe ja die vermutung, dass ich so das 'img' nicht richtig definiert hab, weil es bei g.drawImage(img, 0,0,null); unterstrichen ist (ich nutze eclipse) und mir vorgeschlagen wird die lokale variable img zu erstellen. Mein problem ist, dass ich nicht weiss, wie ich das img sonst einlesen soll. oder gibt es einen besseren weg, mein bild und den pfeil darüber zu zeichnen?
ich sehr dankbar für eure Hilfe, ihr habt mir schon oft sehr gut und schnell geholfen, vielen Dank!
ich hoffe ich habe mich einigermassen verständlich ausgedrückt
lg
fabi
ich habe eine Klasse geschrieben, die einen Pfeil zeichnet und dazu vor längerer Zeit auch mal was im forum gepostet. Weil ich ein Bild zeichnen lassen will und darüber den Pfeil wurde mir geraten das alles auf ein panel zu zeichnen und die paint methode zu überschreiben. Deshalb sieht mein Code jetzt wie folgt aus:
Code:
JPanel pic = new JPanel(){ //dieses Panel will ich dann in meiner mainfunktion einbauen
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
//ich wusste nicht, wie ich mit der IOException umgehen soll, "Throws IOException" hat nicht funktioniert,
//deshalb hab ich gedacht (bzw gegoogelt) dass ich das so mache:
try {
BufferedImage img = ImageIO.read(new File("Traktor.gif"));
} catch
(IOException e) {
e.printStackTrace();
System.out.println("Ups");
}
//aber irgendwie zeichnet er mein Bild so nicht, und diesmal ist es im richtigen Ordner,
//das heisst, wenn ich es über
// JLabel pic = new JLabel(new ImageIcon("Traktor.gif"));
//zeichnen lasse, dann klappt es
g.drawImage(img, 0, 0, null);
Arrow vectorT = new Arrow(100, 100, 10); //das ist meine Pfeil-klasse
vectorT.draw(g);
}
};
}
ich habe ja die vermutung, dass ich so das 'img' nicht richtig definiert hab, weil es bei g.drawImage(img, 0,0,null); unterstrichen ist (ich nutze eclipse) und mir vorgeschlagen wird die lokale variable img zu erstellen. Mein problem ist, dass ich nicht weiss, wie ich das img sonst einlesen soll. oder gibt es einen besseren weg, mein bild und den pfeil darüber zu zeichnen?
ich sehr dankbar für eure Hilfe, ihr habt mir schon oft sehr gut und schnell geholfen, vielen Dank!
ich hoffe ich habe mich einigermassen verständlich ausgedrückt
lg
fabi