I've noticed that it is not possible to run a Java GUI app (Swing or JavaFX) on a MacBook Pro without it activating the discrete graphics and therefore reducing battery life.
I believe it is automatically triggered by the use of OpenGL. Unless you explicitly code for the integrated adapter, I don't think you can use OpenGL without the discrete adapter kicking in. It would be nice if packaged app bundles done with the javapackager had an entry in the Info.plist that would signal that the application does not require the discrete adapter. This appears to already be filed as a JDK bug at https://bugs.openjdk.java.net/browse/JDK-8041900 but it doesn't look like it is getting much attention. Is it likely to be addressed for 9 or an 8uX release? Regards, Scott