Ich möchte, dass man mit z.B. Reader.read("file.txt", textField1) die angegebene Datei ausließt und in einem bestimmten TextFeld, oder einer TextArea ausgibt. Doch wie kann ich dieses Objekt als Variable vom Package erfassen lassen? Versuche es gerade mit "String onj" (siehe Code), doch bei "obj.setText(text)" gibt er mir den Fehler: cannot find symbol.
Auch wenn das Design fragwürdig ist, aber, wenn du den Text "in einem bestimmten TextFeld, oder einer TextArea" ausgeben willst, warum übergibst du dann nicht ein solches anstatt einem String? Ein String hat offensichtlich keine Methode setText.
derjenige, der das Package benutzt, soll frei wählen können, ob der Text auf einem Label, in einem Textfeld oder in einer Textarea stehen soll und dann wo.
Mir ist nicht ganz klar was das werden soll, aber wenn ich das Vorhaben richtig verstanden habe ginge sowas über über Reflection.
Oder gibt es fest definierte Textkomponenten in denen der Text angezeigt werden kann - dann ginge das auch mit Fallunterscheidung.
derjenige, der das Package benutzt, soll frei wählen können, ob der Text auf einem Label, in einem Textfeld oder in einer Textarea stehen soll und dann wo.
Dann gib den gelesenen Text als String zurück, und lass den Benutzer entscheiden was er mit dem String macht. Alles andere wäre auch wie gesagt mehr als fragwürdig.
JLabel und JTextField haben keinen gemeinsamen Typ, der eine setText Methode hätte.
Der Funktion übergibst du einfach eine Datei und bekommst von ihr einen String zurück, was der Nutzer damit anstellt, ist seine Sache (z.B. kann er ihn mittels .setText() in ein Textfeld schreiben).
Also wenn ich in dem package eine Variable namens "Text" erstelle und die dann in der eigentlichen java Datei aufrufen will (wo oben mein Package drin steht) gibt es sie dort nicht...
Du kannst in einem Packet keine Variablen deklarieren, was du stattdessen kannst, ist eine Instanzvariable einer Klasse (z.B. MyClass) packetweit erstellen und sie dann in einer anderen Klasse (MyOther) ansprechen.
Also etwa so:
Java:
package test;publicclassMyClass{int a;}
Java:
package test;publicclassMyOther{publicvoiddoSomething(){MyClass mc =newMyClass();// Zugriff auf package-Variable a
mc.a =4;}}
Also wenn ich in dem package eine Variable namens "Text" erstelle und die dann in der eigentlichen java Datei aufrufen will (wo oben mein Package drin steht) gibt es sie dort nicht...