The problem here seems to be that Swing is by default claiming that it is DPI aware, so windows doesn't scale it. Use this switch to turn off this behavior and windows will start scaling your swing app:
-Dsun.java2d.dpiaware=false
[EDIT: Unfortunately, this flag no longer seems to work in Java 8, I was testing it in Java 6. Looks like this is a known issue.]
[EDIT 2: You can modify a Java 8 install to work correctly, using a program to modify the EXE manifests. I changed the setting from true to false in the manifests inside of java.exe and javaw.exe, and now my Swing programs scale correctly in Windows 10 high dpi. I used Resource Tuner to this.]
[Edit 3] Just use Java 9
First, as a precaution, disable UAC but via gp edit and policies:
Windows Setings/Security Settings/Local Policies/Security Options
User Account Control: Admin Approval Mode for the Built-in Administrator account Disabled
User Account Control: Allow UIAccess applications to prompt for elevation without using the secure desktop Disabled
User Account Control: Behavior of the elevation prompt for administrators in Admin Approval Mode Elevate without prompting
User Account Control: Behavior of the elevation prompt for standard users Prompt for credentials
User Account Control: Detect application installations and prompt for elevation Disabled
User Account Control: Only elevate executables that are signed and validated Disabled
User Account Control: Only elevate UIAccess applications that are installed in secure locations Disabled
User Account Control: Run all administrators in Admin Approval Mode Disabled
User Account Control: Switch to the secure desktop when prompting for elevation Disabled
User Account Control: Virtualize file and registry write failures to per-user locations Enabled
If you experience some problems you can relax "Admin Approval Mode for the Built-in Administrator account" to "Enabled" as long as you keep "Elevate without prompting".
Then - separate the screens. Doesn't matter which one if 1st, which 2nd and along which edge they connect as long as they are separate - not replicas. Then just click one and adjust and then the other and adjust. Clicking the one you want to change is important.
If one is laptop, don't just close the lid - go to hibernate, with the lid open. That preservers all settings intact. If you disconnect one monitor, it's going to merge them. If they ever get merged again you'll be back to square 1.
Oh and the version of the OS might play a role, meaning that if you are on Home you might be screwed and if you are on LTSB you are guaranteed not to have any problems. Also if you have "Creators edition" you might get screed and the only solution is to go back to "Anniversary" or LTSB.
Also, check the "discrete" graphic card driver settings to make sure that there's no some leftover option there that's tying them.
I've been running with different scaling at work from the day one. But I don't take that laptop home. If I do, then I have to set it up again.
Best Answer
As of this moment, the answer is plain and simple - NO.
It is understandable to implement this feature is a bit tricky, but it's a long time since Windows 10 Beta and the launch. The following is credited to be a direct quote from Microsoft developers over the scaling issue sourced from here.
Now let's move to the official Microsoft help page, in this case their Technet magazine tip on how to Fix Scaling Issues on Windows 7
Alright, now we've seen the older help page, let's see Windows 10 version of fixing the scaling issues on their help page. I really want to quote the entire page here, it's just that hilarious, but I'll let you construe the entirety of it. I'll just quote Solution 2:
Unsurprisingly, all these steps ever achieve is to Disable Display Scaling On High DPI. The same which was mentioned earlier in the windows 7 solution.
So, it is now clear that there is no possibility to change scaling per application, unless it's developer implements it as a DPI-aware desktop or win32 application.
Since we have no official confirmation, it is not clear if this feature will be implemented within Windows in the foreseeable future.