Scratch Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Hi, Porgrammiere noch nicht lange mit Java und finde den Fehler einfach nicht ... class PCListe { int X,Y; String HOST; PCListe() { X = Y = 0; HOST = null; } public int getX() { return X; } public int getY() { return Y; } public String getHost() { return HOST; } public void setX(int x) { X = x; } public void setY(int y) { Y = y; } public void setHost(String host) { HOST = host; } } public class AreYouAlive extends java.applet.Applet { int rectSize = 10; int MAX_PC = 10; PCListe pc[] = new PCListe[MAX_PC]; public void paint(Graphics screen) { for(int i = 0;i < MAX_PC;i++) { if(pc[i].getX() > 0 && pc[i].getY() > 0) <---- hier ist der Fehler !!!! { screen.drawRect(pc[i].getX(),pc[i].getY(),rectSize,rectSize); } } } } Erst beim Ausführen erscheint folgender Fehler: java.lang.NullPointerException at AreYouAlive.paint(AreYouAlive.java:100) at sun.awt.RepaintArea.paint(Unknown Source) at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) das liegt doch an dem Feld aus dem Objekt der Klasse PCListe ??? gibt es in Java eigentlich auch ein struct wie in c ??? Muss ich eigene Datentypen immer mit ner neuen Klasse bauen ??? Übrigens das Feld füllt sich natürlich im Laufe des Programms. Danke !!!! Gruß Scratch
Jaraz Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Original geschrieben von Scratch PCListe pc[] = new PCListe[MAX_PC]; Du erzeugst hier zwar ein Array vom Typ PCListe, die einzelnen Positionen im Array sind aber immer noch ungefüllt! pc = new PCListe(); in der Schleife für alle 10 Arraypositionen ausführen, dann klappt es. Gruß Jaraz
Scratch Geschrieben 28. Januar 2004 Autor Geschrieben 28. Januar 2004 Jaaaa, super geht einwandfrei !!! wie sieht es mit den anderen Fragen aus ??? Thema struct ??? Danke !!!
Jaraz Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Original geschrieben von Scratch gibt es in Java eigentlich auch ein struct wie in c ??? Keine Ahnung, kann kein C. http://groups.google.com/groups?dq=&hl=en&lr=&ie=UTF-8&oe=utf-8&threadm=9phnl8%24fr2%2406%241%40news.t-online.com&rnum=1&prev=/groups%3Fq%3Dg:thl1659882176d%26dq%3D%26hl%3Den%26lr%3D%26ie%3DUTF-8%26oe%3Dutf-8%26selm%3D9phnl8%2524fr2%252406%25241%2540news.t-online.com Original geschrieben von Scratch Muss ich eigene Datentypen immer mit ner neuen Klasse bauen ??? Ja, wie sonst? Gruß Jaraz
Scratch Geschrieben 28. Januar 2004 Autor Geschrieben 28. Januar 2004 Deshalb frag ich ja in C kann man einfach sagen struct MeinTyp { int hallo; int du; string da; }; MeinTyp denn_hab_ich_selbst_gemacht; drauf zugreifen tut man dann mit: denn_hab_ich_selbst_gemacht.hallo = 5; etc ....
Jaraz Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Und, wo ist da der Unterschied zu einem Object? Anstatt struct nimmste einfach class. public class Main { public Main(){ MeinTyp mt = new MeinTyp(); mt.hallo=5; System.out.println(mt.hallo); } public static void main(String[] args) { Main main = new Main(); } class MeinTyp{ int hallo; int du; String da; } }
Scratch Geschrieben 28. Januar 2004 Autor Geschrieben 28. Januar 2004 man hat einfach weniger zu schreiben ;-) obwohl ... wenn man alles public lässt ja eigentlich nicht ...
kingofbrain Geschrieben 28. Januar 2004 Geschrieben 28. Januar 2004 Servus, Du hast zwar weniger zu schreiben, aber es ist leider nicht mehr objektorientiert. Und so schlimm ist es auch mit gettern und settern nicht. Das machen die meisten IDEs. Und Du kannst mit solchen Datenklassen eine Menge machen: dafür sorgen, dass diese Klassen als Modell für eine Oberfläche genommen werden können (Tree, Table), oder sie serialisieren oder sonst persistent abspeichern. Also ich würde nicht mit struct arbeiten, selbst wenn es das geben würde. Peter
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden