AWT minimally working
[fanfix.git] / src / jexer / TApplication.java
index f4b79970b30609a59fdd2682eeb7fd3ba1e875ec..8071ae8edc2a5a0f5762dcdd2d2871db960dbe54 100644 (file)
@@ -51,6 +51,7 @@ import jexer.event.TMenuEvent;
 import jexer.event.TMouseEvent;
 import jexer.event.TResizeEvent;
 import jexer.backend.Backend;
+import jexer.backend.AWTBackend;
 import jexer.backend.ECMA48Backend;
 import jexer.io.Screen;
 import jexer.menu.TMenu;
@@ -311,7 +312,26 @@ public class TApplication {
     public TApplication(final InputStream input,
         final OutputStream output) throws UnsupportedEncodingException {
 
-        backend         = new ECMA48Backend(input, output);
+        // AWT is the default backend on Windows unless explicitly overridden
+        // by jexer.AWT.
+        boolean useAWT = false;
+        if (System.getProperty("os.name").startsWith("Windows")) {
+            useAWT = true;
+        }
+        if (System.getProperty("jexer.AWT") != null) {
+            if (System.getProperty("jexer.AWT", "false").equals("true")) {
+                useAWT = true;
+            } else {
+                useAWT = false;
+            }
+        }
+
+
+        if (useAWT) {
+            backend     = new AWTBackend();
+        } else {
+            backend     = new ECMA48Backend(input, output);
+        }
         theme           = new ColorTheme();
         desktopBottom   = getScreen().getHeight() - 1;
         fillEventQueue  = new ArrayList<TInputEvent>();
@@ -1506,5 +1526,5 @@ public class TApplication {
 
         return new TInputBox(this, title, caption, text);
     }
-    
+
 }