I believe that if you were to have each of your main application classes implement Runnable you could run both inside a single main method.
Check out Threads which gives a perfect example of how to do it. All that's left to do is in your main you would simply create the two threads that contain the application objects and call the start() method for each thread which in turn calls the run() method inside of each application object.
class App1 implements Runnable {
App1() {
//your constructor
}
//all other methods ...
public void run() {
// this will be the main method for App1
. . .
}
}
class App2 implements Runnable {
App2() {
//your constructor
}
//all other methods ...
public void run() {
// this will be the main method for App2
. . .
}
}
//your new main method
public static void main(String[] args)
{
//create the first application object
App1 application1 = new App1();
//create the second application object
App2 application2 = new App2();
//call their main methods run()
new Thread(application1).start();
new Thread(application2).start();
}