Also ich hab mir gerade mal angeguckt wie man ein Bild in ein Java Programm einfügt. In meiner Dokumentation sind zwar die methoden aber kein Beispiel für die Anwendung angegeben ... ich hab also mal auf gut Glück n bissl was probiert und das is bei rausgekommen :
Alles anzeigen
Hab also n Bild von nem Auto gemalt (Paint ftw ^^) und das in c/: abgespeichert.
[Blockierte Grafik: http://www7.file-upload.net/thumb/17.06.08/i3mpl.JPG]
Sehr toll ich weiß.
Hatte n bisschen damit zu kämpfen das die Klasse Bild keine Positionsabfrage hat, jedenfalls beim starten krieg ich immer ne NullPointerException
java.lang.NullPointerException
at sum.multimedia.Bild.<init>;(Bild.java:103)
at Auto.<init>;(Auto.java:9)
at KnopfAnwendung.<init>;(KnopfAnwendung.java:19)
at main.main(main.java:5)
im Konstrucktor vom car :
Hier mal die Anwendung :
Alles anzeigen
Des Problem is das man die gesamte Grundstruktur des Programm noch manuell einrichten muss von wegen ereignisbearbeitung ...
falls einer ne idde hat was ich falsch gemacht habe wärs nett wenn er sie mir mitteilt.
Quellcode
- import sum.multimedia.*;
- public classcar
- {
- Bild bild;
- private boolean zAktiv;
- private double zGe;
- public car(int pH,int pV,double pGe)
- {
- bild = new Bild(pH,pV,100,100,"C:\auto.jpg"); < In dieser Zeile gibs außerdem nen Error "illegal escape character"
- bild.ladeBild();
- zAktiv = false;
- this.zeichneDich();
- }
- public void zeichneDich()
- {
- bild.zeige();
- }
- public void bewegeBis(double pH,double pV)
- {
- bild.setzePosition(pH,pV);
- }
- public void loescheDich()
- {
- bild.verstecke();
- }
- public void gibFrei()
- {
- this.loescheDich();
- bild.gibFrei();
- }
- public boolean aktiv()
- {
- return zAktiv;
- }
- public void saktiv(boolean pB)
- {
- zAktiv = pB;
- }
- public double ge()
- {
- return zGe;
- }
- public void sge(double pW)
- {
- zGe = pW;
- }
- }
Hab also n Bild von nem Auto gemalt (Paint ftw ^^) und das in c/: abgespeichert.
[Blockierte Grafik: http://www7.file-upload.net/thumb/17.06.08/i3mpl.JPG]
Sehr toll ich weiß.
Hatte n bisschen damit zu kämpfen das die Klasse Bild keine Positionsabfrage hat, jedenfalls beim starten krieg ich immer ne NullPointerException
java.lang.NullPointerException
at sum.multimedia.Bild.<init>;(Bild.java:103)
at Auto.<init>;(Auto.java:9)
at KnopfAnwendung.<init>;(KnopfAnwendung.java:19)
at main.main(main.java:5)
im Konstrucktor vom car :
Hier mal die Anwendung :
Quellcode
- import sum.kern.*;
- public class KnopfAnwendung extends EreignisAnwendung
- {
- // Bezugsobjekte
- private int count;
- private double ge;
- RechteckKnopf RK;
- RechteckKnopf RK2;
- RechteckKnopf RK3;
- Auto auto;
- Buntstift stift;
- public KnopfAnwendung(int pH,int pV)
- {
- super(pH,pV);
- RK = new RechteckKnopf(this.bildschirm().breite()/4,this.bildschirm().hoehe()-50,this,1,"Fahr los !");
- RK2 = new RechteckKnopf(this.bildschirm().breite()/4*2,this.bildschirm().hoehe()-50,this,2,"Halt an !");
- RK3 = new RechteckKnopf(this.bildschirm().breite()/4*3,this.bildschirm().hoehe()-50,this,3,"Bremse !");
- auto = new Auto(this.bildschirm().breite()/5,this.bildschirm().hoehe()-100,0.00);
- stift = new Buntstift();
- }
- public void bearbeiteMausDruck(double pH,double pV)
- {
- RK.bearbeiteMausDruck(pH,pV);
- RK2.bearbeiteMausDruck(pH,pV);
- RK3.bearbeiteMausDruck(pH,pV);
- }
- public void bearbeiteMausLos(double pH,double pV)
- {
- RK.bearbeiteMausLos(pH,pV);
- RK2.bearbeiteMausLos(pH,pV);
- RK3.bearbeiteMausLos(pH,pV);
- }
- public void bearbeiteMausDoppelKlick(double pH,double pV){};
- public void bearbeiteMausBewegt(double pH,double pV)
- {
- RK.bearbeiteMausBewegt(pH,pV);
- RK2.bearbeiteMausBewegt(pH,pV);
- RK3.bearbeiteMausBewegt(pH,pV);
- }
- public void bearbeiteTaste(char pZeichen){};
- public void idle()
- {
- auto.bewegeBis(stift.hPosition(),stift.vPosition());
- if(auto.aktiv())
- {
- if(count == 1)
- {
- if(auto.ge() > 0)
- {
- auto.sge(auto.ge()-0.0001);
- }
- else
- {
- count = 0;
- auto.saktiv(false);
- }
- }
- else
- {
- if(auto.ge() < 0.1)
- {
- auto.sge(auto.ge()+0.0001);
- }
- }
- if(stift.hPosition() >= this.bildschirm().breite())
- {
- stift.bewegeBis(0,stift.vPosition());
- }
- else
- {
- stift.bewegeBis(stift.hPosition()+auto.ge(),stift.vPosition());
- }
- }
- }
- public void action(int pN)
- {
- switch(pN)
- {
- case 1 : auto.saktiv(true);break;
- case 2 : auto.saktiv(false);break;
- case 3 : count = 1;break;
- }
- }
- }
Des Problem is das man die gesamte Grundstruktur des Programm noch manuell einrichten muss von wegen ereignisbearbeitung ...
falls einer ne idde hat was ich falsch gemacht habe wärs nett wenn er sie mir mitteilt.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von möP ()