Bild einfügen...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bild einfügen...

    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 :

    Quellcode

    1. import sum.multimedia.*;
    2. public classcar
    3. {
    4. Bild bild;
    5. private boolean zAktiv;
    6. private double zGe;
    7. public car(int pH,int pV,double pGe)
    8. {
    9. bild = new Bild(pH,pV,100,100,"C:\auto.jpg"); < In dieser Zeile gibs außerdem nen Error "illegal escape character"
    10. bild.ladeBild();
    11. zAktiv = false;
    12. this.zeichneDich();
    13. }
    14. public void zeichneDich()
    15. {
    16. bild.zeige();
    17. }
    18. public void bewegeBis(double pH,double pV)
    19. {
    20. bild.setzePosition(pH,pV);
    21. }
    22. public void loescheDich()
    23. {
    24. bild.verstecke();
    25. }
    26. public void gibFrei()
    27. {
    28. this.loescheDich();
    29. bild.gibFrei();
    30. }
    31. public boolean aktiv()
    32. {
    33. return zAktiv;
    34. }
    35. public void saktiv(boolean pB)
    36. {
    37. zAktiv = pB;
    38. }
    39. public double ge()
    40. {
    41. return zGe;
    42. }
    43. public void sge(double pW)
    44. {
    45. zGe = pW;
    46. }
    47. }
    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 :

    Quellcode

    1. public car(int pH,int pV,double pGe)
    2. {
    3. bild = new Bild(pH,pV,100,100,"C/:auto.jpg");
    4. bild.ladeBild();
    5. zAktiv = false;
    6. this.zeichneDich();
    7. }


    Hier mal die Anwendung :

    Quellcode

    1. import sum.kern.*;
    2. public class KnopfAnwendung extends EreignisAnwendung
    3. {
    4. // Bezugsobjekte
    5. private int count;
    6. private double ge;
    7. RechteckKnopf RK;
    8. RechteckKnopf RK2;
    9. RechteckKnopf RK3;
    10. Auto auto;
    11. Buntstift stift;
    12. public KnopfAnwendung(int pH,int pV)
    13. {
    14. super(pH,pV);
    15. RK = new RechteckKnopf(this.bildschirm().breite()/4,this.bildschirm().hoehe()-50,this,1,"Fahr los !");
    16. RK2 = new RechteckKnopf(this.bildschirm().breite()/4*2,this.bildschirm().hoehe()-50,this,2,"Halt an !");
    17. RK3 = new RechteckKnopf(this.bildschirm().breite()/4*3,this.bildschirm().hoehe()-50,this,3,"Bremse !");
    18. auto = new Auto(this.bildschirm().breite()/5,this.bildschirm().hoehe()-100,0.00);
    19. stift = new Buntstift();
    20. }
    21. public void bearbeiteMausDruck(double pH,double pV)
    22. {
    23. RK.bearbeiteMausDruck(pH,pV);
    24. RK2.bearbeiteMausDruck(pH,pV);
    25. RK3.bearbeiteMausDruck(pH,pV);
    26. }
    27. public void bearbeiteMausLos(double pH,double pV)
    28. {
    29. RK.bearbeiteMausLos(pH,pV);
    30. RK2.bearbeiteMausLos(pH,pV);
    31. RK3.bearbeiteMausLos(pH,pV);
    32. }
    33. public void bearbeiteMausDoppelKlick(double pH,double pV){};
    34. public void bearbeiteMausBewegt(double pH,double pV)
    35. {
    36. RK.bearbeiteMausBewegt(pH,pV);
    37. RK2.bearbeiteMausBewegt(pH,pV);
    38. RK3.bearbeiteMausBewegt(pH,pV);
    39. }
    40. public void bearbeiteTaste(char pZeichen){};
    41. public void idle()
    42. {
    43. auto.bewegeBis(stift.hPosition(),stift.vPosition());
    44. if(auto.aktiv())
    45. {
    46. if(count == 1)
    47. {
    48. if(auto.ge() > 0)
    49. {
    50. auto.sge(auto.ge()-0.0001);
    51. }
    52. else
    53. {
    54. count = 0;
    55. auto.saktiv(false);
    56. }
    57. }
    58. else
    59. {
    60. if(auto.ge() < 0.1)
    61. {
    62. auto.sge(auto.ge()+0.0001);
    63. }
    64. }
    65. if(stift.hPosition() >= this.bildschirm().breite())
    66. {
    67. stift.bewegeBis(0,stift.vPosition());
    68. }
    69. else
    70. {
    71. stift.bewegeBis(stift.hPosition()+auto.ge(),stift.vPosition());
    72. }
    73. }
    74. }
    75. public void action(int pN)
    76. {
    77. switch(pN)
    78. {
    79. case 1 : auto.saktiv(true);break;
    80. case 2 : auto.saktiv(false);break;
    81. case 3 : count = 1;break;
    82. }
    83. }
    84. }
    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.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von möP ()

  • habs auch scho korrigiert ... hätt mir nur die fehler meldung richtig durchlesen müssen... bleib aber immer noch das Problem mit der Nullpointerexception... die Klasse Bild is irgendwie ein wenig seltsam sie hat viele Funktionen von nem Knopf... gibt es ne andere Möglichkeit n Bild einzufügen ?

    Es gib ne Dokumentation :

    file-upload.net/download-922019/Bild.html.html

    Dort sind aber ,wie schon gesagt nur die methoden aufgelistet ... ohne große Erklärung was sie machen sondern einfach nur wie man sie anwendet ... alles ein wenig seltsam ... es gibt auch keine Beispiele für die Implemention ...