diff --git a/app/build.xml b/app/build.xml
index 73b0be464..592c58d29 100644
--- a/app/build.xml
+++ b/app/build.xml
@@ -100,8 +100,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ depends="download-ant, download-jna, download-flatlaf">
@@ -133,6 +159,7 @@
../core/apple.jar;
lib/ant.jar;
lib/ant-launcher.jar;
+ lib/flatlaf.jar;
lib/jna.jar;
lib/jna-platform.jar"
debug="on"
@@ -146,13 +173,15 @@
-
+
-
+
+
+
diff --git a/app/lib/.gitignore b/app/lib/.gitignore
index 25b443b60..755a82b25 100644
--- a/app/lib/.gitignore
+++ b/app/lib/.gitignore
@@ -1,7 +1,7 @@
ant.jar
ant-launcher.jar
+flatlaf.jar
+
jna.jar
jna-platform.jar
-
-VAqua*.jar
\ No newline at end of file
diff --git a/app/processing4-app.iml b/app/processing4-app.iml
index 946a9d344..62e9a8c3a 100644
--- a/app/processing4-app.iml
+++ b/app/processing4-app.iml
@@ -55,5 +55,14 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/processing/app/contrib/StatusPanel.java b/app/src/processing/app/contrib/StatusPanel.java
index 8b3cd6f02..4579ed00a 100644
--- a/app/src/processing/app/contrib/StatusPanel.java
+++ b/app/src/processing/app/contrib/StatusPanel.java
@@ -209,7 +209,7 @@ class StatusPanel extends JPanel {
return "body { " +
" margin: 0; " +
" padding: 0;" +
- " font-family: " + Toolkit.getSansFontName() + ", Helvetica, Arial, sans-serif;" +
+ " font-family: " + Toolkit.getSansFont().getName() + ", Helvetica, Arial, sans-serif;" +
" font-size: 11px;" +
"}" +
"a { color: #444; text-decoration: none; }";
diff --git a/app/src/processing/app/platform/DefaultPlatform.java b/app/src/processing/app/platform/DefaultPlatform.java
index c80ebf870..a51c67313 100644
--- a/app/src/processing/app/platform/DefaultPlatform.java
+++ b/app/src/processing/app/platform/DefaultPlatform.java
@@ -27,10 +27,10 @@ import java.awt.Desktop;
import java.awt.Dimension;
import java.awt.Font;
import java.io.File;
-import java.net.URI;
import javax.swing.UIManager;
import javax.swing.plaf.FontUIResource;
+import javax.swing.text.StyleContext;
import com.sun.jna.Library;
import com.sun.jna.Native;
@@ -110,16 +110,34 @@ public class DefaultPlatform {
public void setLookAndFeel() throws Exception {
String laf = Preferences.get("editor.laf");
if (laf == null || laf.length() == 0) { // normal situation
- UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+ //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
+
+ // dummy font call so that it's registered for the LaF
+ Toolkit.getSansFont(12, Font.PLAIN);
+
+ com.formdev.flatlaf.FlatLaf.registerCustomDefaultsSource("processing.app.ui");
+ UIManager.setLookAndFeel(new com.formdev.flatlaf.FlatLightLaf());
+
} else {
UIManager.setLookAndFeel(laf);
}
+ /*
+ UIDefaults defaults = UIManager.getDefaults();
+ for (Map.Entry