There is a new beta for Linux and Windows of BSF4ooRexx available at: <https://sourceforge.net/projects/bsf4oorexx/files/beta/20161026/BSF4ooRexx_install_v600-20161130-beta.zip/download>.
This version fixes a few bugs (has among other things a totally new handling of Java references on the Java side) and a preliminary new JavaFX sample (cf. <samples\JavaFX\fxml_03> which defines all controllers in pure Rexx in a single Rexx file/package, the GUI part is created and maintained with the SceneBuilder). Should you encounter any problems, please file them with the BSF4ooRexx tracker! ---rony On 24.11.2016 19:42, Rony G. Flatscher wrote: > A short while ago I uploaded a new beta of BSF4ooRexx to Sourceforge: > <https://sourceforge.net/projects/bsf4oorexx/files/beta/20161026/BSF4ooRexx_install_v600-20161124-beta.zip/download>. > > The new major version number 6.00 (represented as "600") indicates that this > version needs Java > 1.6/6 as a minimum (currently Java 1.8/8 is current). > > One major new feature is full support for JavaFX, which is a Java class > library that comes with > Java since Java 1.7/7. This means that if you have Java installed on your > computer you will be > immediately able to run the samples in the BSF4ooRexx-directory > "samples/JavaFX". > > One nice feature about JavaFX is the ability to create the GUI with the help > of a tool named > "SceneBuilder" available for all platforms. The code for SceneBuilder comes > from Oracle but > without an installer, so if you point your browser to > <http://gluonhq.com/labs/scene-builder/> you > will get installation packages for all platforms. This tool will also pack > applications in a > jar-file (a "Java" archive file). > > This beta of BSF4ooRexx contains nutshell examples that can be run "in the > wild", no need to > package them in a jar. Please note that quite some effort was put into > creating "standalone" Rexx > programs using JavaFX classes without any XML definitions. OTOH, its > subdirectories contain > XML-based GUI-definition files that are used with the help of JavaFX, which > you can compare 1:1 > with the "standalone" versions. > > The Rexx programs serving as the controllers for the XML-GUI-definition file > (e.g. created and > maintained with the help of the SceneBuilder) are being invoked by Java using > the Rexx scripting > interface for Java (new in BSF4ooRexx, presented at the last International > Rexx symposium in Tampa > this past August). The JavaFX instrumentation does only invoke the script > programs by means of > calling them without arguments. For that reason it is necessary (added > support for that) to > interact with Java ScriptContext which manages two collections of attributes > (named "Bindings"): > "GLOBAL_SCOPE" entries are available to all script engines, and > "ENGINE_SCOPE" which are related > to a certain script engine (ooRexx in this case). To make it simple for > ooRexx programmers > fetching entries from the ScriptContext there is a "Rexx script annotation" > introduced, which must > be contained in a Rexx block-comment on one line. As each GUI-element in the > XML-file that has a > unique "fx:id" value is placed into the ScriptContext by JavaFX, one can > fetch those entries (get > access e.g. to a Button, a Label, a TextField etc.) from there. The "Rexx > script annotation" > allows one to a) fetch any such object and b) make it immediately available > as a local Rexx > variable (!) such that you can use it right after that annotation. An example > would be something like: > > ... cut ... > /* @get("label button") */ > say "label:" label~getText > say "button:" button~getText > ... cut ... > > For debugging purposes there is also a Rexx script annotation named > "/*@showsource*/" which will > cause the Java Rexx script engine to display the Rexx source code as seen by > Java. If there are > Rexx script annotations of the form "/*@get("attr1 attr2... ")*/" or > "/*@set("attr1 attr2... ")*/" > then the edited version of the same Rexx source code will be shown that will > get executed by > ooRexx. (The @get and @set annotations will cause ooRexx code to be injected > in front of it, so > with the @showsource annotation you will be able to see what code gets > injected.) > > There are many tutorials available for JavaFX (use the word "JavaFX"). > > If you have never worked with GUIs on Java (the founding principles are the > same as in all GUI > programming on all platforms), then it might be helpful, if you first skim > over "swing" tutorials > (e.g. excellent Oracle resource: > <https://docs.oracle.com/javase/tutorial/uiswing/TOC.html>, or > <http://www.java2s.com/Tutorials/Java/Java_Swing/index.htm>), which is > superceded by JavaFX. There > are many interesting explanations and showcases for swing on the net, which > concepts you can take > over to JavaFX. > > Here another nice place with examples that can be easily transcribed to > ooRexx after studying the > nutshell programs in "samples/JavaFX": > <http://www.java2s.com/Tutorials/Java/JavaFX/index.htm> and > <http://www.java2s.com/Tutorials/Java/JavaFX_How_to/index.htm>. > > In the case that you explore this option (it may be an option also to > eventually, over time forgo > ooDialog) and create short nutshell examples while experimenting with JavaFX > that you think can > serve the community, then please post them! Also, if you want, I would be > more than happy to add > JavaFX samples to the BSF4ooRexx distribution! > > [Also, if you experiment with ooRexx and JavaFX then please consider of > giving presentations on > the upcoming International Rexx Symposium in Amsterdam (probably from April > 9th thru April 12th), > from introductions, nutshell examples and migrating from ooDialog to JavaFX > or the like.] > > If you have BSF4ooRexx related questions, then please post them to the > BSF4ooRexx developer list > on Sourceforge, cf. > <https://sourceforge.net/p/bsf4oorexx/mailman/bsf4oorexx-devel/>. If you find > bugs please file them at <https://sourceforge.net/p/bsf4oorexx/bugs/> with a > short sample, if > possible. > > Have fun! :) > > ---rony > >
------------------------------------------------------------------------------
_______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel