Hallo Leute,
ich bin relativ neu in der graphischen Programmierung, aber ich verusche euch dennoch klar zumachen was mein Anliegen ist.
Ich habe eine Klasse Programm mit der main-methode. Diese erzeugt ein Fenster, sodass ich darauf zeichnen kann (nach der Klasse GUI):
Programm:
GUI:
Nun sieht man an der Programm Klasse schon, dass ich eine Klasse Fahrzeug habe. Diese soll das Objekt Auto erzeugen, was ja soweit nicht weiter schlimm ist.
Jetzt möchte ich aber, dass bei der Erstellung auch ein Bild (Auto1.png) auf der Oberfläche gezeichnet wird (und geradeaus fährt, dass kommt aber erst später - muss mich erst in threads einlesen).
Wie schaffe ich es allerdings, aus "Fahrzeug" heraus auf das frame zu zeichnen?
Vielleicht habt ihr ja noch weitere Informationen um meinen Code besser zu gestalten
MfG
Nico
ich bin relativ neu in der graphischen Programmierung, aber ich verusche euch dennoch klar zumachen was mein Anliegen ist.
Ich habe eine Klasse Programm mit der main-methode. Diese erzeugt ein Fenster, sodass ich darauf zeichnen kann (nach der Klasse GUI):
Programm:
Java:
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class Programm {
public static void main(String[] args) {
JFrame frame = new GUI();
frame.setSize(800,600);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setVisible(true);
Fahrzeug Auto1 = new Fahrzeug("braun", 100, 100, 100);
}
}
GUI:
Java:
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.geom.AffineTransform;
import java.awt.image.AffineTransformOp;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class GUI extends JFrame {
//Graphics nach
//http://de.wikibooks.org/wiki/Java_Standard:_Das_Graphics_Object
@Override
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.darkGray);
drawRoundRect(g, 50, 100, 750, 550, 120, 120);
g.setColor(getBackground());
drawRoundRect(g, 125, 175, 675, 475, 40, 40);
}
public static void drawRoundRect (Graphics g, int x1, int y1, int x2, int y2, int nArcWidth, int nArcHeight) {
g.fillRoundRect(x1, y1 , x2-x1, y2-y1, nArcWidth, nArcHeight);
}
public static void drawImage (Graphics g, BufferedImage src, int x1, int y1) {
g.drawImage(src , x1, y1, null);
}
}
Nun sieht man an der Programm Klasse schon, dass ich eine Klasse Fahrzeug habe. Diese soll das Objekt Auto erzeugen, was ja soweit nicht weiter schlimm ist.
Jetzt möchte ich aber, dass bei der Erstellung auch ein Bild (Auto1.png) auf der Oberfläche gezeichnet wird (und geradeaus fährt, dass kommt aber erst später - muss mich erst in threads einlesen).
Wie schaffe ich es allerdings, aus "Fahrzeug" heraus auf das frame zu zeichnen?
Vielleicht habt ihr ja noch weitere Informationen um meinen Code besser zu gestalten
MfG
Nico