X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=demos%2FDemo5.java;h=d383261af91c6bac99d93c5f2990d317c303de8f;hb=HEAD;hp=e63abc1b848c37d8a9ea7b06346eefe875af7f31;hpb=cd7e80930437e18ac719f8e2c5d93c2ca0d23cd8;p=fanfix.git diff --git a/demos/Demo5.java b/demos/Demo5.java deleted file mode 100644 index e63abc1..0000000 --- a/demos/Demo5.java +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Jexer - Java Text User Interface - * - * The MIT License (MIT) - * - * Copyright (C) 2019 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 java.util.ResourceBundle; -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 { - - /** - * Translated strings. - */ - private static final ResourceBundle i18n = ResourceBundle.getBundle(Demo5.class.getName()); - - // ------------------------------------------------------------------------ - // Variables -------------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * The first demo application instance. - */ - DemoApplication app1 = null; - - /** - * The second demo application instance. - */ - DemoApplication app2 = null; - - // ------------------------------------------------------------------------ - // WindowListener --------------------------------------------------------- - // ------------------------------------------------------------------------ - - /** - * 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 - } - - // ------------------------------------------------------------------------ - // Demo5 ------------------------------------------------------------------ - // ------------------------------------------------------------------------ - - /** - * 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(i18n.getString("frameTitle")); - 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(); - } - } - -}