'Netbeans Scaling on 4K Screen

I got a new 4K Monitor and everything looks amazing but coding with NetBeans is difficult. The controls are very small and a java frame looks very small.

I've seen some Stackoverflow posts about this problem and they said I should add a line in the preferences file so that hi-dpi mode is disabled but my java frame is still small.



Solution 1:[1]

For those who land here like me in 2019.

Currently using Apache Netbeans 11 in a 4k monitor and changing the dpiaware option has no effect for me.

What worked is adding the option -J-Dsun.java2d.uiScale=2.5 to the file netbeans.conf just before -J-Dsun.java2d.dpiaware=true.

The indicted piece of the file:

netbeans_default_options="-J-XX:+UseStringDeduplication -J-Djdk.lang.Process.allowAmbiguousCommands=true -J-Xss2m  -J-Djdk.gtk.version=2.2 -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.uiScale=2.5 -J-Dsun.java2d.dpiaware=true -J-Dsun.zip.disableMemoryMapping=true -J-Dplugin.manager.check.updates=false -J-Dnetbeans.extbrowser.manual_chrome_plugin_install=yes -J--add-opens=java.base/java.net=ALL-UNNAMED -J--add-opens=java.base/java.lang.ref=ALL-UNNAMED -J--add-opens=java.base/java.lang=ALL-UNNAMED -J--add-opens=java.base/java.security=ALL-UNNAMED -J--add-opens=java.base/java.util=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing.text=ALL-UNNAMED -J--add-opens=java.desktop/javax.swing=ALL-UNNAMED -J--add-opens=java.desktop/java.awt=ALL-UNNAMED -J--add-opens=java.desktop/java.awt.event=ALL-UNNAMED -J--add-opens=java.prefs/java.util.prefs=ALL-UNNAMED -J--add-opens=jdk.jshell/jdk.jshell=ALL-UNNAMED -J--add-modules=jdk.jshell -J--add-exports=java.desktop/sun.awt=ALL-UNNAMED -J--add-exports=java.desktop/java.awt.peer=ALL-UNNAMED -J--add-exports=java.desktop/com.sun.beans.editors=ALL-UNNAMED -J--add-exports=java.desktop/sun.swing=ALL-UNNAMED -J--add-exports=java.desktop/sun.awt.im=ALL-UNNAMED -J--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J--add-exports=java.management/sun.management=ALL-UNNAMED -J--add-exports=java.base/sun.reflect.annotation=ALL-UNNAMED -J--add-exports=jdk.javadoc/com.sun.tools.javadoc.main=ALL-UNNAMED -J-XX:+IgnoreUnrecognizedVMOptions"

Thanks to ron190 that help us pointing this out:

Use -Dsun.java2d.uiScale=2.5 instead: superuser.com/a/1194728/465745

Solution 2:[2]

Try to edit NETBEAN_HOME\etc\netbeans.conf and set -J-Dsun.java2d.dpiaware from true to false.

-J-Dsun.java2d.dpiaware=false

Solution 3:[3]

For those who land here in 2021.

I am using Netbeans 12.4 on Windows 10 and the solutions mentioned here did nothing for me.

What did work was setting the high DPI settings in Compatibility Mode like so:

enter image description here

Big thanks to the following post that set me on the right path, it offers a powershell command to do this automatically for all java exes: https://superuser.com/a/1276743/648833

Solution 4:[4]

If you are on Linux, other than trying to set

-J-Dsun.java2d.uiScale=2

make sure that you are using jdk 11+, as jdk 8 does not seems to pick up that config

Solution 5:[5]

I am on windows and using ney beans 8.2 with JDK 8. None of the above approaches works for me.

For me, the best route is to add --fontsize 32 at the end of the netbeans_default_options variable:

enter image description here

You can use whatever font size you like. Remember to change the editor font size to a larger value at 1st boot. The code navigation bar beneath the editor area looks strange, but enough for me.

enter image description here

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Carlo Francesco
Solution 2 Stephen Kennedy
Solution 3 gordonk
Solution 4 Ravel Tan ???
Solution 5 Wesley Ranger