You are not logged in.

Dear visitor, welcome to Jabaco - Community. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.



  • "Manuel" is male
  • "Manuel" started this thread

Posts: 256

Date of registration: Jul 16th 2008

Location: Erlangen, Germany

Occupation: Software Developer

Hobbies: Jabaco, game theory, text-mining

  • Send private message


Tuesday, November 25th 2008, 9:19am

BASIC meet Java (some internals)

Java and Visual Basic are very different technologies. I'll show you some opportunities with the Jabaco-concept in both worlds:

You'll find a fractal-sample in your Jabaco-Installation. Your PC is busy during the calculation of a fractal. Maybe the user would like to stop the calculation before it is finished? The normal way to do that with Java is: create a thread and write several synchronizations. With Jabaco you are able to force the event processing of Java. Exactly like Visual Basic with the command "DoEvents". It isn't necessary to create a Thread but it is also possible with Jabaco.

There are so many VB6-functions at Jabaco - i couldn't list them all. Some general informations: Jabaco is using Swing for the GUI-Controls by default. The Jabaco-Framework includes several Wrapper-Classes to make it more compliant with Visual Basic. You'll retrieve the Java-Control through the Parent-Property of each Framework-Class. Not all controls could be inherited - that's the only reason for this solution. Use this property to enhance the functionality of the control. The better way is to change it inside the Jabaco-Framework (Open Source). You are able to use several alternative technologies like AWT, SWT, Jami (QT), Wx4J (Widgets)

Jabaco supports Error-Handling like Visual Basic (On Error Resume Next, On Error Goto Label, On Error Goto 0) - maybe it will support the try-catch method of Java in future. You have to be careful with the "Resume Next"-method. Sun implemented a very strong class-verification for security-reasons. That's why i excluded the Error-Handling for the definition of variables. The errors couldn't be catched in a var-definition at the moment.

You are able to use the Java-Reflection-API, or you could do it a little bit simpler like Visual Basic with CallByName, or define your var as Variant and use the Jabaco-'unknown calls' to invoke a method.

If you would like to receive Events in Java - you have to do that with the observer-pattern. You could use this pattern with Jabaco - or you do declare an event like Visual Basic and inform the observer by calling the "RaiseEvent"-Command.

Use it or hate it - the only thing i would like to say: it is possible with Java bytecode and it is a feature of Jabaco :whistling:

Don't like the Java-"set, get, is"-concept? Jabaco supports properties - i added a prefix for the Java-methods to make this possible and to make Jabaco more compliant to Visual Basic.

Platform independent:
Not possible with Visual Basic, but a great Feature of Java and Jabaco. With Java you are able to use external native-librarys through the JNI. You are also able to use the JNI with Jabaco, or make it a bit simpler and use it VB-like with only one declaration with the WinAPI-Attribute.

Not possible with Visual Basic, but a great Feature of Java and Jabaco.

to be continued ...

Similar threads

Rate this thread
WoltLab Burning Board