X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjexer%2Fdemos%2FDemo1.java;h=f8ede8578465370bd0348000bff37958ef7227ee;hb=7c870d89433346ccb5505f8f9ba62d3fc18fe996;hp=8f92b2f8e0e9249e2908a979cf9a0a587dc86b42;hpb=c6940ed922d1c4e06bf30fd57a50e43f0720e60c;p=fanfix.git diff --git a/src/jexer/demos/Demo1.java b/src/jexer/demos/Demo1.java index 8f92b2f..f8ede85 100644 --- a/src/jexer/demos/Demo1.java +++ b/src/jexer/demos/Demo1.java @@ -288,24 +288,6 @@ class DemoMainWindow extends TWindow { // Timer label is updated with timer ticks. TLabel timerLabel; - /* - // The modal window is a more low-level example of controlling a window - // "from the outside". Most windows will probably subclass TWindow and - // do this kind of logic on their own. - private TWindow modalWindow; - private void openModalWindow() { - modalWindow = getApplication().addWindow("Demo Modal Window", 0, 0, - 58, 15, TWindow.Flag.MODAL); - modalWindow.addLabel("This is an example of a very braindead modal window.", 1, 1); - modalWindow.addLabel("Modal windows are centered by default.", 1, 2); - modalWindow.addButton("&Close", (modalWindow.width - 8)/2, - modalWindow.height - 4, &modalWindowClose); - } - private void modalWindowClose() { - getApplication().closeWindow(modalWindow); - } - */ - /** * We need to override onClose so that the timer will no longer be called * after we close the window. TTimers currently are completely unaware @@ -369,9 +351,12 @@ class DemoMainWindow extends TWindow { addLabel("Variable-width text field:", 1, row); addField(35, row++, 15, false, "Field text"); - addLabel("Fixed-width text field:", 1, row); - addField(35, row, 15, true); + addField(35, row++, 15, true); + addLabel("Variable-width password:", 1, row); + addPasswordField(35, row++, 15, false); + addLabel("Fixed-width password:", 1, row); + addPasswordField(35, row++, 15, true, "hunter2"); row += 2; if (!isModal()) { @@ -420,32 +405,33 @@ class DemoMainWindow extends TWindow { ); } row += 2; + */ if (!isModal()) { addLabel("Terminal", 1, row); addButton("Termi&nal", 35, row, - { - getApplication().openTerminal(0, 0); + new TAction() { + public void DO() { + getApplication().openTerminal(0, 0); + } } ); } row += 2; - */ progressBar = addProgressBar(1, row, 22, 0); row++; timerLabel = addLabel("Timer", 1, row); - timer = getApplication().addTimer(100, true, + timer = getApplication().addTimer(250, true, new TAction() { public void DO() { - timerLabel.setText(String.format("Timer: %d", timerI)); - timerLabel.setWidth(timerLabel.getText().length()); + timerLabel.setLabel(String.format("Timer: %d", timerI)); + timerLabel.setWidth(timerLabel.getLabel().length()); if (timerI < 100) { timerI++; } progressBar.setValue(timerI); - DemoMainWindow.this.setRepaint(); } } ); @@ -460,10 +446,11 @@ class DemoApplication extends TApplication { /** * Public constructor. * + * @param backendType one of the TApplication.BackendType values * @throws Exception if TApplication can't instantiate the Backend. */ - public DemoApplication() throws Exception { - super(null, null); + public DemoApplication(BackendType backendType) throws Exception { + super(backendType); new DemoMainWindow(this); // Add the menus @@ -508,8 +495,21 @@ public class Demo1 { */ public static void main(final String [] args) { try { - DemoApplication app = new DemoApplication(); - app.run(); + // Swing is the default backend on Windows unless explicitly + // overridden by jexer.Swing. + TApplication.BackendType backendType = TApplication.BackendType.XTERM; + if (System.getProperty("os.name").startsWith("Windows")) { + backendType = TApplication.BackendType.SWING; + } + if (System.getProperty("jexer.Swing") != null) { + if (System.getProperty("jexer.Swing", "false").equals("true")) { + backendType = TApplication.BackendType.SWING; + } else { + backendType = TApplication.BackendType.XTERM; + } + } + DemoApplication app = new DemoApplication(backendType); + (new Thread(app)).start(); } catch (Exception e) { e.printStackTrace(); }