Okay, my head is now spinning with manifest files and classpaths and entry points and stuff like that. Nothing really worked, so I created a much more basic JFrame app as a
test and that seems to run fine.
After more investigation, I think the problem is with the text files I am using in my app. When the program starts it reads values from various text files and adds them to arrays as a rudimentary form of saving data. But with a jolt of 'duh' I just realised that now the program is compiled into a jar file the file paths contained within the program will all be wrong, causing an I/O error. I have checked the contents of the jar file and the text files are still there, in the same folder as in the file system, but it is no longer finding them when they are accessed within the program.
How do relative file paths work when you are running an app from a jar file? What path do I need to use to access them?