ostpower Geschrieben 9. November 2009 Teilen Geschrieben 9. November 2009 Hi Leute, ich hab folgendes Problem: Ich hab ne Klasse Oberfläche. Dort gibts ne Funktion getName(). Die Methode gibt en String zurück, also in der Methode wird ne Textfeldeingabe eingelesen und ausgegeben bzw. auch zurück gegeben, sind ungefähr so aus: public String getName(){ String AnfrageName = textfieldName.getText(); System.out.println("name="+AnfrageName); return AnfrageName; } Die Methode ansich funktioniert auch, gibt keine Quelltextfehler und der Inhalt des Textfeldes wird auch ausgegeben, wenn ich die Methode innerhalb der Klasse Oberfläche aufruf. Jetzt hab ich aber noch ne zweite Klasse, dort will ich diese Methode aufrufen. Hab also en Objekt der Klasse Oberfläche dort erzeugt: Oberfläche test = new Oberfläche(); So wenn ich dann die Methode aufruf: test.getName(); passiert gar nix. So der Knackpunkt ist Folgender (ich habs mit nem festen String getestet, deswegen weiß ichs...also denk ich ma): in der Methode getName hab ich ja textfieldname.gettext Und genau des macht er net wenn cih die methode über die andere klasse aufruf. ich hoff ihr versteht was ich mein ^^ Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 9. November 2009 Teilen Geschrieben 9. November 2009 Eigentlich ist es nicht so richtig verständlich. Ich gehe mal davon aus du arbeitest mit Swing!? Dann wäre außerdem ein wenig mehr Quellcode sehr nützlich. Weil wenn du deine Oberfläche mit deinem TextField erzeugst und anzeigst, dann wird über die getText() Methode auch der Text zurück gegeben der im TextField steht, wenn da nichts steht, wird natürlich auch nichts ausgegeben. Also allgemein mehr Quelltext wäre vorteilhaft, ansonsten raten wir hier einfach nur rum und treffen vielleicht irgendwann mal das richtige. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Skuzzle Geschrieben 10. November 2009 Teilen Geschrieben 10. November 2009 Mehr Quelltext wäre in der tat ratsamer, versteh dein problem auch nicht so ganz. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LadyPreis Geschrieben 10. November 2009 Teilen Geschrieben 10. November 2009 ohne jetzt deinen genauen Quelltext zu kennen, schaue ich in meine Glaskugel und sage: du darfst in deiner 2ten Klasse nicht ein neues Objekt von Oberfläche erstellen, sondern musst dieser Klasse eine referenz auf das bestehende Objekt geben. Wenn ich jetzt Recht habe, geh ich mir heut abend noch nen Lottoschein kaufen :bimei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ostpower Geschrieben 10. November 2009 Autor Teilen Geschrieben 10. November 2009 Ok ich versuchs nochma. Also ich habe die Klasse Oberfläche. Dort habe ich eine Oberfläche mit Swing gebastelt. Auf dieser Oberfläche gibts ein Textfeld. Mit der Methode getName wird die Eingabe zurückgegeben und zusätzlich (zu testzwecken) in der konsole ausgegeben. Wenn ich nun statt String AnfrageName = textfieldName.getText(); String AnfrageName = "blubb"; mache, dann geht alles einwandfrei. Also wenn ich in der anderen Klasse die Methode aufrufe. Also einen festen String nimmt er. Wenn ich aber in der Klasse Oberfläche die Methode aufrufe, dann geht das auch mit textfieldname.gettext() Ich weiß nicht was ich an Quelltext noch einstellen kann, weil in der Klasse Oberfläche sind das vor allem zich Befehle zum Erstellen der Oberflächenbestandteile (Textfelder, Buttons etc.). Das entscheidende ist die getname-methode und wie ich diese aus der anderen klasse aufrufen kann. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ostpower Geschrieben 10. November 2009 Autor Teilen Geschrieben 10. November 2009 ohne jetzt deinen genauen Quelltext zu kennen, schaue ich in meine Glaskugel und sage: du darfst in deiner 2ten Klasse nicht ein neues Objekt von Oberfläche erstellen, sondern musst dieser Klasse eine referenz auf das bestehende Objekt geben. Wenn ich jetzt Recht habe, geh ich mir heut abend noch nen Lottoschein kaufen :bimei Wie meinst du das? Also was für ein bestehendes Objekt? Durch Oberfläche test = new Oberfläche(); habe ich ja zum ersten mal ein objekt erstellt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Dragon8 Geschrieben 10. November 2009 Teilen Geschrieben 10. November 2009 Naja mit den Angaben kann ich dir aber nur sagen, dass du dann was falsch machen musst, weil es so normalerweise geht, weil einfach nicht genug informationen da sind. Wichtig wäre denke ich mal vor allem, wie und wann die das Objekt für deine Oberfläche erzeugst und was du damit machst bis du deine getName() Methode aufrufst. Das was mir jetzt, wie ja schon geschrieben, am ehesten einfällt, ist einfach dass in deinem Textfeld nichts drin steht was er ausgeben kann. Wenn du das Objekt für deine Oberfläche erzeugst und dann niemand was in das Textfeld einträgt, dann kann er ja auch schlecht was ausgeben. Was dafür spricht, dass es ja mit einem festen String funktioniert. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
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.