Add 'src/jexer/' from commit 'cf01c92f5809a0732409e280fb0f32f27393618d'
[fanfix.git] / src / jexer / demos / Demo4.java
1 /*
2 * Jexer - Java Text User Interface
3 *
4 * The MIT License (MIT)
5 *
6 * Copyright (C) 2019 Kevin Lamonte
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the "Software"),
10 * to deal in the Software without restriction, including without limitation
11 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
12 * and/or sell copies of the Software, and to permit persons to whom the
13 * Software is furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
21 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
23 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
24 * DEALINGS IN THE SOFTWARE.
25 *
26 * @author Kevin Lamonte [kevin.lamonte@gmail.com]
27 * @version 1
28 */
29 package jexer.demos;
30
31 import jexer.*;
32
33 /**
34 * This class is the main driver for a simple demonstration of Jexer's
35 * capabilities. This one shows TDesktop and TWindow API details.
36 */
37 public class Demo4 {
38
39 /**
40 * Main entry point.
41 *
42 * @param args Command line arguments
43 */
44 public static void main(final String [] args) {
45 try {
46 // Swing is the default backend on Windows unless explicitly
47 // overridden by jexer.Swing.
48 TApplication.BackendType backendType = TApplication.BackendType.XTERM;
49 if (System.getProperty("os.name").startsWith("Windows")) {
50 backendType = TApplication.BackendType.SWING;
51 }
52 if (System.getProperty("os.name").startsWith("Mac")) {
53 backendType = TApplication.BackendType.SWING;
54 }
55 if (System.getProperty("jexer.Swing") != null) {
56 if (System.getProperty("jexer.Swing", "false").equals("true")) {
57 backendType = TApplication.BackendType.SWING;
58 } else {
59 backendType = TApplication.BackendType.XTERM;
60 }
61 }
62 DesktopDemoApplication app = new DesktopDemoApplication(backendType);
63 (new Thread(app)).start();
64 } catch (Exception e) {
65 e.printStackTrace();
66 }
67 }
68
69 }