1717package cn .enaium .joe ;
1818
1919import cn .enaium .joe .config .ConfigManager ;
20+ import cn .enaium .joe .config .extend .ApplicationConfig ;
2021import cn .enaium .joe .event .EventManager ;
22+ import cn .enaium .joe .gui .panel .BorderPanel ;
2123import cn .enaium .joe .gui .panel .BottomPanel ;
2224import cn .enaium .joe .gui .panel .file .tree .CenterPanel ;
2325import cn .enaium .joe .gui .panel .file .tabbed .FileTabbedPanel ;
2426import cn .enaium .joe .gui .component .FileTree ;
2527import cn .enaium .joe .gui .panel .menu .*;
2628import cn .enaium .joe .jar .Jar ;
2729import cn .enaium .joe .task .TaskManager ;
28- import cn .enaium .joe .util .BytecodeTokenMaker ;
29- import cn .enaium .joe .util .LangUtil ;
30- import cn .enaium .joe .util .MessageUtil ;
31- import cn .enaium .joe .util .ReflectUtil ;
30+ import cn .enaium .joe .util .*;
31+ import com .formdev .flatlaf .FlatDarkLaf ;
3232import com .formdev .flatlaf .extras .FlatSVGIcon ;
3333import org .fife .ui .rsyntaxtextarea .AbstractTokenMakerFactory ;
3434import org .fife .ui .rsyntaxtextarea .TokenMakerFactory ;
@@ -45,7 +45,7 @@ public class JavaOctetEditor {
4545
4646 public static final String TITLE = "JavaOctetEditor" ;
4747
48- public JFrame window = new JFrame ( TITLE ) ;
48+ public JFrame window ;
4949
5050 private Jar jar ;
5151
@@ -64,11 +64,22 @@ public class JavaOctetEditor {
6464
6565 public JavaOctetEditor () {
6666 instance = this ;
67+
6768 event = new EventManager ();
6869 config = new ConfigManager ();
6970 config .load ();
7071 task = new TaskManager ();
7172 Runtime .getRuntime ().addShutdownHook (new Thread (config ::save ));
73+
74+ Integer value = config .getByClass (ApplicationConfig .class ).scale .getValue ();
75+
76+ if (value > 0 ) {
77+ System .setProperty ("sun.java2d.uiScale" , value .toString ());
78+ }
79+
80+ FlatDarkLaf .setup ();
81+ UIManager .put ("Tree.paintLines" , true );
82+
7283 fileTabbedPanel = new FileTabbedPanel ();
7384 fileTree = new FileTree ();
7485 bottomPanel = new BottomPanel ();
@@ -77,10 +88,10 @@ public JavaOctetEditor() {
7788 public void run () {
7889
7990 ToolTipManager .sharedInstance ().setInitialDelay (0 );
80-
91+ FlatDarkLaf . setup ();
8192 AbstractTokenMakerFactory abstractTokenMakerFactory = (AbstractTokenMakerFactory ) TokenMakerFactory .getDefaultInstance ();
8293 abstractTokenMakerFactory .putMapping ("text/custom" , BytecodeTokenMaker .class .getName ());
83-
94+ window = new JFrame ( TITLE );
8495 window .setIconImage (new FlatSVGIcon ("icons/logo.svg" ).getImage ());
8596
8697 window .setJMenuBar (new JMenuBar () {{
@@ -98,9 +109,9 @@ public void run() {
98109 add (new HelpMenu ());
99110 }});
100111
101- window .setContentPane (new JPanel ( new BorderLayout () ) {{
102- add (new CenterPanel (), BorderLayout . CENTER );
103- add (bottomPanel , BorderLayout . SOUTH );
112+ window .setContentPane (new BorderPanel ( ) {{
113+ setCenter (new CenterPanel ());
114+ setBottom (bottomPanel );
104115 }});
105116
106117
@@ -115,7 +126,7 @@ public void windowClosing(WindowEvent e) {
115126 });
116127 }
117128 });
118- window .setSize (1000 , 600 );
129+ window .setSize (Util . screenSize ( 1000 , 600 ) );
119130 window .setLocationRelativeTo (null );
120131 window .setVisible (true );
121132 }
0 commit comments