akhead Geschrieben 19. Oktober 2009 Geschrieben 19. Oktober 2009 Hallo zusammen, ich habe mit Netbeans mir zwei Oberflächen erstellt, das eine das Hauptprogramm und das andere trägt ein neuen Eintrag ein. Jetzt weis ich nicht wie das gehen soll private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { JFrame dummy; JFrame mainframe = dummy.getApplication().getMainFrame(); } BRAUCHE HILFEEEEE :( Zitieren
flashpixx Geschrieben 19. Oktober 2009 Geschrieben 19. Oktober 2009 Wie man Fragen richtig stellt: eine Anleitung wie man Fragen erfolgreich in Usenet, Mailing Listen und Webforen stellt. Zitieren
akhead Geschrieben 19. Oktober 2009 Autor Geschrieben 19. Oktober 2009 Meine Frage ist wie ich eine Klasse in einer Klasse öffne, wieso kommst du mit so nem mist? Ich hab ein Hauptprogramm, da gibst ein Button New Eintrag und wenn man auf den Klickt soll die GUI der Klasse NeuerEintrag auftauchen dachte das ich eine neue JPane deklariere, weis nicht genau wie das funktioniert. deswegen frag ich ja um rat! Zitieren
flashpixx Geschrieben 19. Oktober 2009 Geschrieben 19. Oktober 2009 Meine Frage ist wie ich eine Klasse in einer Klasse öffne, wieso kommst du mit so nem mist? Eine Klasse kannst Du nicht in einer Klasse öffnen. Eine Klasse ist ein statisches Gebilde, das man lediglich instanzieren kann. Du solltest anhand des Link vielleicht einmal darüber nachdenken, ob man Dein Problem überhaupt verstehen kann. Zitieren
baba007 Geschrieben 19. Oktober 2009 Geschrieben 19. Oktober 2009 Meine Frage ist wie ich eine Klasse in einer Klasse öffne, wieso kommst du mit so nem mist? Ich hab ein Hauptprogramm, da gibst ein Button New Eintrag und wenn man auf den Klickt soll die GUI der Klasse NeuerEintrag auftauchen dachte das ich eine neue JPane deklariere, weis nicht genau wie das funktioniert. deswegen frag ich ja um rat! Back doch zuerst kleinere Brötchen und versuche nicht gleich mit Sachen zu beginnen, die du nicht verstehst. Zitieren
Ulfmann Geschrieben 19. Oktober 2009 Geschrieben 19. Oktober 2009 wieso kommst du mit so nem mist? Vielleicht solltest Du erstmal sachlich bleiben, immerhin brauchst Du Hilfe. dachte das ich eine neue JPane deklariere Ich wüsste nicht was, eine JPane sein soll. Das grobe Problem ist durchaus erkennbar, bloß was genau ist jetzt Deine Frage? Zitieren
elSusto Geschrieben 20. Oktober 2009 Geschrieben 20. Oktober 2009 (bearbeitet) Meine Frage ist wie ich eine Klasse in einer Klasse öffne, Eine Klasse kannst Du nicht in einer Klasse öffnen. Eine Klasse ist ein statisches Gebilde, das man lediglich instanzieren kann. Und das geht so ;-) MeineEigeneKlasse meinObjektName = new MeineEigeneKlasse(ConstructorParams); und wo ist das problem ? Das solltest du doch aber bereits können, wenn du schon mit der Oberflächen programmierung anfängst. Bearbeitet 20. Oktober 2009 von flashpixx Quote richtig gesetzt Zitieren
flashpixx Geschrieben 20. Oktober 2009 Geschrieben 20. Oktober 2009 Und das geht so ;-) MeineEigeneKlasse [COLOR="Red"]meinObjektName[/COLOR] = [COLOR="Lime"]new [/COLOR][COLOR="Blue"]MeineEigeneKlasse(ConstructorParams)[/COLOR]; ... und das ist falsch: Der "new" Operator erzeugt (Fachbegriff "instanziert"), in dem er den Konstruktor (blau) mit einem Parameter der Klasse "MeineEigeneKlasse" aufruft ein Objekt, das er in die Variable (rot) "meinObjektName" ablegt (fachlich "zuweist"). Bei der Instanzierung werden die notwendigen Speicherbereiche angelegt und eben der Konstruktor aufgerufen. Eine Klasse kann man nicht in einer Klasse erzeugen, denn eine Klasse existiert nur genau einmal, aus genau einer Klasse kann ich aber durch den "new" Operator eben beliebig (natürlich durch den Speicher begrenzt) viele Objekte ein und der selben Klasse erzeugen. Eine Klasse in einer Klasse aufrufen ist nicht möglich, denn das würde auch bedeuten, dass die Klasse im Speicher liegen würde. In Java liegen aber Klassen als *.class Dateien in der Codebase bzw (lokal) auf der Festplatte bzw können über RMI, FTP, etc über eine URL instanziert werden. Der Klassloader schaut bei dem Aufruf "new" nach, ob eine Klasse innerhalb der Umgebungsvariablen "CLASSPATH" liegt und läd diese dann entsprechend Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.