![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
|
Hallo Forum, funktioniert es eigentlich das ich uncompilierten source-code zur laufzeit ausführe? oder gibt es eine möglichkeit den code aus dem programm heraus compilieren zu lassen? Das Problem ist, dass ich einem benutzer die möglichkeit geben möchte, z. B. auf einem Buttondruck eigenen code aufzurufen, der direkt einfluß auf das zur laufzeit geladene programm haben soll. Kleines Beispiel. Ein JFrame (frame) in dem Frame: 1 TextArea (textarea) 1 TextFileld (textfield) 1 button (button) der benutzer soll jetzt in die textarea code eingeben können der vom Programm zur Laufzeit ausgeführt werden kann, das Programm läuft logischerweise schon. Der Code soll ausgeführt werde solbald der User den button drückt der user tippt in die textarea: tesfield.setText("Hallo Welt"); und drück den Button nun soll auch wirklich Hallo Welt in dem Textfield auftauchen. Der Benutzer könnte aber auch tippen this.dispose(); und zack, das Frame wäre zu. Wie bringe ich aber das Programm dazu den Code auszuführen? Gruß Sparrow |
| | |
| | Nach oben #2 |
| Chefkoch-Mod Registriert seit: 30.05.2004
Beiträge: 433
|
Du stellst immer Fragen. Ich kann mir schwer vorstellen, dass das irgendwie geht. Du könntest natürlich die möglichen Befehle abfangen und mit implementieren. Aber für alle Kommandos wäre das wohl etwas viel. Einen einzelnen Befehl kann man ja sowieso schlecht in ein laufendes Programm einbinden.
__________________ Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
| | |
| | Nach oben #3 |
| Erfahrener Benutzer Registriert seit: 29.05.2004
Beiträge: 228
|
Scriptbarkeit in Programmen kannt du vermutlich mit Jython erreichen - das ist ein Python-Interpreter in Java und so. Ich würde auf jeden Fall mal in die Richtung suchen (aber ehrlich gesagt habe ich keine Ahnung was Jython alles genau kann und wofür es gedacht ist/war Oder mit irgend einer anderen Scriptsprache im Zusammenhang mit Java - aber eher weniger mit Java-Code selber. MfG Peschmä
__________________ Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM "We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth |
| | |
| | Nach oben #4 | |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
| Zitat:
Wahrscheinlich werde ich die Befehle die man anwenden kann selber im Programm selbst abfangen und auswerten. Ist ja nicht so schwer die Befehle zu interpretieren. Aber es ist nun mal nötig in einem "Formulargenerator" auch Aktionen für die Buttons hinterlegen zu können Gruß Sparrow | |
| | |
| | Nach oben #5 | |
| Gast
Beiträge: n/a
|
Hi Hab HIER folgendes gefunden: Zitat:
und bei 1.4 ists sun.tools.javac.Main Greets | |
|
| | Nach oben #6 |
| Chefkoch-Mod Registriert seit: 30.05.2004
Beiträge: 433
|
Das ist ja mal interessant. Was das für Möglichkeiten bietet.
__________________ Denk mal darüber nach... Lars ACHTUNG: wenn ich von Klassen spreche, könnte ich auch deren Instanzen meinen. www.linuxforen.de +++ www.macuser.de +++ www.mrunix.de +++ www.lmprojects.de |
| | |
| | Nach oben #7 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
|
@ Lord Vielen Dank! Das ist ja mal ungalaublich was man hier so erfährt wenn man seltsame Sachen fragt. Werd das direkt mal im Programm ausprobieren. Klingt auf jeden Fall vielversprechend. ... Allerdings brauch dann auch jeder Benutzer ein JDK auf seinem System.... Gruß Sparrow |
| | |
| | Nach oben #9 | |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
| Zitat:
Bin heute etwas langsam, helf mir mal. Gruß Sparrow | |
| | |
| | Nach oben #10 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.110
|
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #11 | |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
| Zitat:
Also so in der Art: Application: PHP-Code: PHP-Code: Gibt es eine Möglichkeit den Interpreter so einzubinden, dass das Script direkt auf meine Variablen und Objekte in der Applikation zugreifen kann? Vielen Dank für deine Hilfe! Sparrow | |
| | |
| | Nach oben #13 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.110
|
Du kannst einfach die Variablen an den Interpreter übergeben und dann deinen Code verwenden. Ist wirklich kein Problem, du musst danach nichts ändern, also nur im Interpreter registrieren und fertig. @LordOfCodes: Kein Problem.
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #14 | |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
| Zitat:
Darf ich für mein obiges Beispiel um einen klein wenig Beispielcode bitten? Dann kann ich direkt anschauen ob sich Beanshell als Interpreter für einen Formulargenerator eignet. Wäre wirklich suber von dir. Ich hätte zum Beispiel ein Problem wenn ich dir übergebene Variable nach auslesen des Scripts erst wieder zurückholen müßte. Gruß Sparrow | |
| | |
| | Nach oben #15 |
| Projektleiter Registriert seit: 30.11.2005 Ort: Bottrop
Beiträge: 1.110
| Code: class Test extends JFrame {
JTextField jtf = new JTextField(20);
Interpreter i = new Interpreter;
public Test {
add(jtf);
pack();
setVisible(true);
i.set("jtf", jtf);
i.source("test.bsh");
}
}
Code: // Code in test.bsh
jtf.setText("Hallo Welt");
Ich benutze Beanshell z.B. für mein Action-Framework (Teil von PgsSwing). Vereinfacht wirklich vieles und ist einfach zu benutzen. Wenn's nicht unbedingt Java sein muss kannst du dir auch mal Jython, Rhino und wie-sie-nicht-alle-heißen angucken. Auf IBM gibt es einen Bereich für Scriptsprachen in Java. Auch sehr nett.
__________________ Patrick Gotthardts Weblog. |
| | |
| | Nach oben #16 |
| Sesselkleber Registriert seit: 17.01.2005
Beiträge: 576
|
Ui, na wenn das wirklich so einfach funktioniert wäre ja super. Ich würde schon ganz gerne bei Java bleiben, ich möchte nämlich einen Builder für JFrames erstellen, die auf eine Datenbank zugreifen. Man bastelt sich also die Frames zusammen, das Programm speichert die Daten in einer XML-Datei und mit einem "Run-Tool" können diese später wieder angezeigt werden. Das Funktioniert soweit auch ganz gut, ich habe nur, logischerweise, ein Problem dem Benutzer zu ermöglichen eigene Aktionen auf einen Button zu legen. Wenn das wirklich so funktioniert wie du sagst, dann brauche ich den Benutzer eigentlich nur den Code der innerhalb des ActionListeners stehen soll eingeben lassen, sorge dafür, dass das Programm alle nötigen Daten an den Interpreter übergibt und kann den dann entsprechend ausführen lassen. Werde das auf jeden Fall versuchen. Nochmal danke! Sparrow |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Sourcecode von Klassen aus Java Native Interface (JNI) | xyz | Allgemeine Java-Programmierung | 0 | 22.11.2005 10:21 |
| java programm ausführen | alekz | Allgemeine Java-Programmierung | 4 | 26.10.2004 01:01 |