Category Archives: Continuous Integration

Java GUI implementation with Eclipse SWT, Eclipse Visual Editor Project and Maven: Part 1


My team have been assigned to perform the evaluation and POC for the GUI for Client/Server application. Firstly I focus to other tools instead of Java, since I’ve known that writing the Java GUI is a nightmare. On the other hand, if we use the new tools I need to learn it from the beginning, the new tools, new language, new framework and so on. The new tools may be limited to perform for some environment/OS. Then we have agreed and decided to use our well-known, Java.


My objective for searching the tools is as following: –

1. It should be a visual editor, since it will help us to speed up the GUI development.

2. It should support the Maven, since it is our build tool and support the CI integration.

3. There should be a GUI unit testing based on JUnit, since it can be integrated to the Maven for generate the code coverage and code quality analysis.


After a couple days searching via the internet. I’ve found the Eclipse: Visual Editor Project which supports the Java GUI development in 2 frameworks, Swing/JFC and SWT/RCP.

SWT/RCP !!!??? What is it ?

After reading the Eclipse: RCP and Eclipse: SWT, I thought that the Eclipse: RCP is equal to the JFC and the Eclipse: SWT is equal to the Swing. The SWT binary/runtime also provides the supporting to many OS platform, i.e. Windows, Mac, Linux, Solaris, AIX.

I also found the Eclipse: RAP as well. It is a platform which lets we build rich, Ajax-enabled Web applications by using the Eclipse development model, plug-ins with the well known Eclipse workbench extension points and a widget toolkit with SWT API. Existing RCP applications can be run as Web applications with only minor changes. It also provides the single sourcing, use the same code for multiple platform. It is worth enough to learn the single platform development for creating the GUI which can be executed by the Client/Server through the Web based.

Regarding to the unit testing, I found the Eclipse: SWTBot and the further information. It can be integrated to the JUnit and also provides the GUI functional testing, including with the keyboard/keystroke testing.


I’ve a tool for GUI development which provide the binary/runtime which can be executed in many environment/OS and architecture(Client/Server and Web based), including with the unit testing tool which support the JUnit. Especially, all of them support the Maven. In the next post, I will show you the traditional example “Hello World” for SWT/RCP, including with the unit testing. Please stay tuned.

%d bloggers like this: