X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fjexer%2Fdemos%2FDemoApplication.java;h=d9bbeb765db92d45aca5537fe274f9b288c42c92;hb=4b257bd88a40bb1b7ad6b14c3ecaf6a3d5d10a9b;hp=4b31c717a0a89c5a9ac746cf2c50de9eb7360769;hpb=7668cb45fd91775da14504919d8a239af2f7c07e;p=nikiroo-utils.git diff --git a/src/jexer/demos/DemoApplication.java b/src/jexer/demos/DemoApplication.java index 4b31c71..d9bbeb7 100644 --- a/src/jexer/demos/DemoApplication.java +++ b/src/jexer/demos/DemoApplication.java @@ -31,6 +31,7 @@ package jexer.demos; import java.io.*; +import java.util.*; import jexer.*; import jexer.event.*; @@ -75,7 +76,7 @@ public class DemoApplication extends TApplication { addWindowMenu(); } - + /** * Public constructor. * @@ -94,7 +95,47 @@ public class DemoApplication extends TApplication { super(input, output); addAllWidgets(); } - + + /** + * Handle menu events. + * + * @param menu menu event + * @return if true, the event was processed and should not be passed onto + * a window + */ + @Override + public boolean onMenu(TMenuEvent menu) { + if (menu.getId() == TMenu.MID_OPEN_FILE) { + try { + String filename = fileOpenBox("."); + if (filename != null) { + try { + File file = new File(filename); + StringBuilder fileContents = new StringBuilder(); + Scanner scanner = new Scanner(file); + String EOL = System.getProperty("line.separator"); + + try { + while(scanner.hasNextLine()) { + fileContents.append(scanner.nextLine() + EOL); + } + new DemoTextWindow(this, filename, + fileContents.toString()); + } finally { + scanner.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } catch (IOException e) { + e.printStackTrace(); + } + return true; + } + return super.onMenu(menu); + } + /** * Public constructor. *