X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjexer%2Fdemos%2FDemo5.java;h=e63abc1b848c37d8a9ea7b06346eefe875af7f31;hb=738dd8c426dcc6ed2508d68b7985f68d66549889;hp=df8075a982005ccb1839eb959990025496747a66;hpb=3e0743556d1f31723a11a6019b5c2b018b4b2104;p=fanfix.git diff --git a/src/jexer/demos/Demo5.java b/src/jexer/demos/Demo5.java deleted file mode 100644 index df8075a..0000000 --- a/src/jexer/demos/Demo5.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Jexer - Java Text User Interface - * - * The MIT License (MIT) - * - * Copyright (C) 2017 Kevin Lamonte - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - * @author Kevin Lamonte [kevin.lamonte@gmail.com] - * @version 1 - */ -package jexer.demos; - -import java.awt.Font; -import java.awt.event.WindowEvent; -import java.awt.event.WindowListener; -import javax.swing.JFrame; -import javax.swing.JPanel; -import javax.swing.JSplitPane; - -import jexer.backend.SwingBackend; - -/** - * This class is the main driver for a simple demonstration of Jexer's - * capabilities. It shows two Swing demo applications running in the same - * Swing UI. - */ -public class Demo5 implements WindowListener { - - /** - * The first demo application instance. - */ - DemoApplication app1 = null; - - /** - * The second demo application instance. - */ - DemoApplication app2 = null; - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowActivated(final WindowEvent event) { - // Ignore - } - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowClosed(final WindowEvent event) { - // Ignore - } - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowClosing(final WindowEvent event) { - if (app1 != null) { - app1.exit(); - } - if (app2 != null) { - app2.exit(); - } - } - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowDeactivated(final WindowEvent event) { - // Ignore - } - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowDeiconified(final WindowEvent event) { - // Ignore - } - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowIconified(final WindowEvent event) { - // Ignore - } - - /** - * Pass window events into the event queue. - * - * @param event window event received - */ - public void windowOpened(final WindowEvent event) { - // Ignore - } - - /** - * Run two demo applications in separate panes. - */ - private void addApplications() { - - /* - * In this demo we will create two swing panels with two - * independently running applications, each with a different font - * size. - */ - - /* - * First we create a panel to put it on. We need this to pass to - * SwingBackend's constructor, so that it knows not to create a new - * frame. - */ - JPanel app1Panel = new JPanel(); - - /* - * Next, we create the Swing backend. The "listener" (second - * argument, set to null) is what the backend wakes up on every event - * received. Typically this is the TApplication. TApplication sets - * it in its constructor, so we can pass null here and be fine. - */ - SwingBackend app1Backend = new SwingBackend(app1Panel, null, - 80, 25, 16); - // Now that we have the backend, construct the TApplication. - app1 = new DemoApplication(app1Backend); - - /* - * The second panel is the same sequence, except that we also change - * the font from the default Terminus to JVM monospaced. - */ - JPanel app2Panel = new JPanel(); - SwingBackend app2Backend = new SwingBackend(app2Panel, null, - 80, 25, 18); - app2 = new DemoApplication(app2Backend); - Font font = new Font(Font.MONOSPACED, Font.PLAIN, 18); - app2Backend.setFont(font); - - /* - * Now that the applications are ready, spin them off on their - * threads. - */ - (new Thread(app1)).start(); - (new Thread(app2)).start(); - - /* - * The rest of this is standard Swing. Set up a frame, a split pane, - * put each of the panels on it, and make it visible. - */ - JFrame frame = new JFrame(); - frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - frame.addWindowListener(this); - JSplitPane mainPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, - app1Panel, app2Panel); - mainPane.setOneTouchExpandable(true); - mainPane.setDividerLocation(500); - mainPane.setDividerSize(6); - mainPane.setBorder(null); - frame.setContentPane(mainPane); - - frame.setTitle("Two Jexer Apps In One Swing UI"); - frame.setSize(1000, 640); - frame.setVisible(true); - } - - /** - * Main entry point. - * - * @param args Command line arguments - */ - public static void main(final String [] args) { - try { - Demo5 demo = new Demo5(); - demo.addApplications(); - } catch (Exception e) { - e.printStackTrace(); - } - } - -}