spinningcube/src/main/java/org/apidesign/demo/spinningcube/Main.java
author Jaroslav Tulach <jtulach@netbeans.org>
Tue, 13 Aug 2013 21:19:31 +0200
changeset 45 3f85884ca049
parent 42 77d278ed1499
permissions -rw-r--r--
Prevent running on JDK7 - the WebView implementation on JDK7 is not good enough for CSS animations
     1 /**
     2  * The MIT License (MIT)
     3  *
     4  * Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
     5  *
     6  * Permission is hereby granted, free of charge, to any person obtaining a copy
     7  * of this software and associated documentation files (the "Software"), to deal
     8  * in the Software without restriction, including without limitation the rights
     9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    10  * copies of the Software, and to permit persons to whom the Software is
    11  * furnished to do so, subject to the following conditions:
    12  *
    13  * The above copyright notice and this permission notice shall be included in
    14  * all copies or substantial portions of the Software.
    15  *
    16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    22  * THE SOFTWARE.
    23  */
    24 package org.apidesign.demo.spinningcube;
    25 
    26 import net.java.html.boot.BrowserBuilder;
    27 
    28 
    29 /** Bootstrap and initialization.
    30  * 
    31  * @author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
    32  */
    33 public final class Main {
    34     private Main() {
    35     }
    36     
    37     /** Launches the browser */
    38     public static void main(String... args) throws Exception {
    39         try {
    40             Class.forName("java.lang.FunctionalInterface");
    41         } catch (ClassNotFoundException classNotFoundException) {
    42             throw new IllegalStateException("This application does not run on JDK7, use at least JDK8");
    43         }
    44         BrowserBuilder.newBrowser().
    45             loadPage("pages/index.html").
    46             loadClass(Main.class).
    47             invoke("initialize", args).
    48             showAndWait();
    49         System.exit(0);
    50     }
    51     
    52     /** Called when page is ready */
    53     public static void initialize(String... args) throws Exception {
    54         Data d = new Data();
    55         d.setMessage("Hello World from HTML and Java!");
    56         d.applyBindings();
    57     }
    58 }