jApp
a Java Desktop Application Framework
This is the jApp official home page.
jApp is a Pure Java based framework for creating applications based on the now universal document/desktop metaphor.
jApp is being offered as is in the hope that it will be usefull but without any warranty. It is GPL licensed so feel free to use it as you see fit, try building an application on it or just extract knowledge ideas and code snippets.
jApp was not born yesterday, the roots of this framework go back to last century (late 1980's) and it has gone through several incarnations under various aliases in Pascal, C, C++ and now in Java. Interestingly, over the years the size/complexity of the framework has actually shrunk as nonessential functionality has been refactored out. There is a history behind jApp that I hope to publish some day. I mention the long history in order to emphasize that jApp was born from genuine needs and has been battle tested in real combat conditions. I see that as the real value of this project i.e. that the code has actually been written to fulfill real needs, been debugged and used in real life. This is no lab experiment or academic rehearsal. Having said that I feel it is just fair to mention that jApp has been essentially a one man effort, and thus may not compare with industrial strength products. On the other hand, in some respects it may even surpass them being lean and mean after years of exercising.
The main feature is naturally the Application/Document framework that manages the full document life cycle. With just a few lines of code you can create within minutes your first cross platform desktop application
Main class for a fullblown application with full Desktop integration does not get much simpler:
package mypackage;
import jApp.*;
public class MyApplication extends Application{
public MyApplication(String[] args) {
super(args);
getFileTypeRegistry().registerFileType(".mydoc", "application/vnd.mycompany.mydoc",MyDocument.class,"MyDoc File");
}
public static void main(String[] args) {
MyApplication myApp=new MyApplication(args);
myApp.run();
}
}A minimal but functional document class can be easily created by deriving from Document class:
package mypackage;
import jApp.*;
public class MyDocument extends Document {
public void createWindows() {
new MyDocumenWindow(this);
}
}All we need now is a window to show the document in, derived from DocumentWindow:
package mypackage;
import jApp.*;
public class MyDocumenWindow extends DocumentWindow {
public MyDocumenWindow(Document document) {
super(document);
}
}This gets you a fully functional cross platform application with desktop integration that is able to create, save and open documents, manage recent documents and shuffle it's windows.
Software components, especially without documentation, are
hard to use
and require real commitment, they are not for the casual passerby. jApp
comes with little documentation in the form of the javadocs. I hope to
write some tutorials as my spare time allows.
You can browse the javadoc on-line. or download the zip-file
Of course you can download the
source code
and the ExampleProject ready to be built with Eclipse
.
cheers Kusti / 28.10.2006