diff --git a/src/org/idp/laf/LAF_killer.java b/src/org/idp/laf/LAF_killer.java index 5062af6..9bf0b32 100644 --- a/src/org/idp/laf/LAF_killer.java +++ b/src/org/idp/laf/LAF_killer.java @@ -6,31 +6,28 @@ package org.idp.laf; -import java.awt.Toolkit; -import java.awt.image.ColorModel; +import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; -import java.io.ObjectOutputStream; +import java.io.OutputStreamWriter; import java.io.PrintWriter; -import java.lang.reflect.Field; import java.nio.charset.Charset; +import java.nio.file.FileSystems; import java.nio.file.Files; +import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; -import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; -import javax.swing.JTree; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; import javax.swing.border.Border; import javax.swing.plaf.metal.DefaultMetalTheme; import javax.swing.plaf.metal.MetalLookAndFeel; -import javax.swing.plaf.metal.MetalTheme; import org.idp.laf.settings.Color; import static org.idp.laf.settings.Color.ColorClass.AT; import static org.idp.laf.settings.Color.ColorClass.SS; @@ -39,8 +36,6 @@ import org.idp.laf.settings.Font; import static org.idp.laf.settings.Font.FontClass.FA; import static org.idp.laf.settings.Font.FontClass.FS; import org.idp.laf.settings.Gradient; -import org.openide.explorer.view.NodeRenderer; -import org.openide.explorer.view.TreeView; import org.openide.util.Exceptions; import org.openide.windows.WindowManager; @@ -164,7 +159,7 @@ load (); keys[i].equals("RadioButtonMenuItem.gradient") || keys[i].equals("Slider.focusGradient") || keys[i].equals("RadioButton.gradient") || - keys[i].equals("InternalFrame.activeTitleGradient") + keys[i].equals("InternalFrame.activeTitleGradient") ) { //ArrayList always @@ -331,9 +326,59 @@ load (); Object [] keys = new Object[UIManager.getLookAndFeelDefaults().keySet().size()]; // UIManager.put("Tree.textForeground", new javax.swing.plaf.ColorUIResource(0,255,0)); // This is F*CKIN VOODOO MAGIC... aaaaaaaaa, I'm just as black cat in a night - System.setProperty("nb.useSwingHtmlRendering", "true"); - // NodeRenderer nr = NodeRenderer.sharedInstance(); + //System.setProperty("awt.useSystemAAFontSettings", "on"); + + System.setProperty("awt.useSystemAAFontSettings","lcd"); + System.setProperty("swing.aatext", "true"); + System.setProperty("nb.useSwingHtmlRendering", "true"); + + String nb_home = System.getProperty("netbeans.home"); + String nb_conf = nb_home.substring(0, nb_home.length() - "platform".length()) + "etc" + File.separator; + + File conf = new File (nb_conf); + Path path = FileSystems.getDefault().getPath(nb_conf, "netbeans.conf"); + List linesL = Files.readAllLines(path); + String [] lines = new String[linesL.size()]; + + int i = 0; + for (String str : linesL) + { + lines[i] = str; + i++; + } + + for (i =0; i < lines.length; i ++) + { + if (lines[i].contains("netbeans_default_options=")) + { + System.out.println("Fond default settings line!"); + if (!lines[i].contains("-J-Dawt.useSystemAAFontSettings")) + { + System.out.println("No rendering hints defined - fixing..."); + String [] parts = lines[i].split("\""); + String new_line = parts[0] + "\"" + parts[1] + " -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd" + "\""; + lines[i] = new_line; + System.out.println(">>> " + lines[i]); + + writeFile1(nb_conf + "netbeans.conf", lines); + + } + else + { + System.out.println("Font redering hints already set - OK"); + } + } + } + + + +// Properties properties = System.getProperties(); +// for (Object o : properties.keySet()) +// { +// System.out.println( o + " : " + properties.getProperty((String) o)); +// } + // NodeRenderer nr = NodeRenderer.sharedInstance(); // Field[] fields = nr.getClass().getFields(); // for (int i = 0; i < fields.length; i ++) // { @@ -353,6 +398,21 @@ load (); } + public static void writeFile1(String path, String [] data) throws IOException { + + File fout = new File(path); + FileOutputStream fos = new FileOutputStream(fout); + + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos)); + + for (int i = 0; i < data.length; i ++) { + bw.write(data[i]); + bw.newLine(); + } + + bw.close(); +} + private static void repaintUI() { SwingUtilities.updateComponentTreeUI(WindowManager.getDefault().getMainWindow());