Purpose
The PDF Object Browser is a simple sample application that shows how a Swing application can be transformed into a ULC application. The PDF object browser was initially a Swing application and the goal was to transform it into a ULC application as fast as possible and changing as little as possible. If you download the source code, you will notice that most parts of the code are very similar and only differentiating in class names like ULCButton instead of JButton, etc. But, there are certain differences due to the distributed client/server nature of ULC applications.
Features
- open PDF documents and traverse the internal object tree
- object specific information for each node
- distinction of object types through different icons
- a list of all objects on the right-hand side of the splitpane
Resources
Comparison
Comparing the Swing application to the
ULC 6.0.3 application, the following differences became obvious:
- in ULC, icons must not be declared statically
- in ULC, when uploading a file, the stream is available through a call-back function
- in ULC, there is no concept of the handy JOptionPane as it exists in Swing
- in ULC, the renderers cannot modify the value returned from the model as possible in Swing
Comparing the Swing application to the
ULC 6.0.1 application, the following differences became obvious:
- in ULC, icons must not be declared statically
- in ULC, when uploading a file, the stream is available through a call-back function
- in ULC, the file upload is not synchronous
- in ULC, there is no concept of the handy JOptionPane as it exists in Swing
- in ULC, the renderers cannot modify the value returned from the model as possible in Swing
Comparing the Swing application to the
ULC 5.2.1 application, the following differences became obvious:
- in ULC, icons must not be declared statically
- in ULC, there is no concept of borders as it exists in Swing
- in ULC, when uploading a file, the stream is available through a call-back function
- in ULC, the file upload is not synchronous
- in ULC, there is no concept of the handy JOptionPane as it exists in Swing
- in ULC, the renderers cannot modify the value returned from the model as possible in Swing
- in ULC, trees are implicitly embedded in a scrollpane which may lead to undesired stacking of a scrollpane within another scrollpane
Compatibility
The described functionality has been developed and tested using PDFBox 0.6.7a, JDK 1.4.2_05, and ULC 5.2.1.
Author
etienne