If each device has its own window, and you just wanted those windows "launch-able" from the main GUI, you could probably do that a few different ways. Ultimately, the decision will come down to: how do you intend on "finding" the start window for each device? If you have a jar for each device, you will still need to find the start window in the source files. The easiest way would be just to make the device's jar executable and just have the main GUI launch the device's jar. But if you want it all contained into one running java instance, you may need to use a bit of "magic".
Off the top of my head, these may or may not be do-able, I am just brainstorming (these will probably require some Reflection to initiate the device's start windows):
1. You could have a manually editable configuration file, which your main GUI would import on startup, which specifies the location (in the device's jar) of the device's start window. This would require very little "magic", but would require you to manually edit the configuration file each time you add a new device. However, it would NOT require you to recompile the main GUI, so there's that.
2. You could restrict the startup windows to always be under the same package and with the same name for every device jar. This would mean you have less flexibility with renaming the file name for the startup window, but that might not be a big deal. The pros and cons for this one is debatable.
3. You could have a super-type for all the startup windows (possibly extending JFrame or something) in your main GUI. Every device's start window would inherit from that super class. You could then "crawl" through the device's jar, and look for the class which extends from the super-type. This will require all device jars to have the main GUI's jar as a dependency, but it should probably be that way anyway. This would be the most "automatic" way, although it requires some overhead.
For 2 and 3, if you have all the device jars in the same folder, you could even do a "crawl" of that folder to automatically find the devices to load (you would set it to load every device whose jar is found in the folder).