minesweeper/src/main/java/org/apidesign/demo/minesweeper/Main.java
author Jaroslav Tulach <jaroslav.tulach@apidesign.org>
Fri, 29 Aug 2014 19:04:17 +0200
changeset 202 2f2a29ad26ef
parent 160 be13d9823456
child 204 023918566428
permissions -rw-r--r--
Turning on I18N and providing Czech L10N
     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.minesweeper;
    25 
    26 import java.util.Locale;
    27 import net.java.html.boot.BrowserBuilder;
    28 import org.netbeans.api.nbrwsr.OpenHTMLRegistration;
    29 import org.openide.awt.ActionID;
    30 import org.openide.awt.ActionReference;
    31 import org.openide.awt.ActionReferences;
    32 
    33 
    34 /** Bootstrap and initialization. */
    35 public final class Main {
    36     private Main() {
    37     }
    38 
    39     /** Launches the browser */
    40     public static void main(String... args) throws Exception {        
    41         BrowserBuilder.newBrowser().
    42             loadPage("pages/index.html").
    43             locale(Locale.getDefault()).
    44             loadClass(MinesModel.class).
    45             invoke("main", args).
    46             showAndWait();
    47         System.exit(0);
    48     }
    49     
    50     //
    51     // the following annotations generate registration for NetBeans,
    52     // they are harmless in other packaging schemes
    53     //
    54     
    55     @ActionID(
    56             category = "Games",
    57             id = "org.apidesign.demo.minesweeper"
    58     )
    59     @OpenHTMLRegistration(
    60         url="index.html",
    61         displayName = "Play Minesweeper!",
    62         iconBase = "org/apidesign/demo/minesweeper/ko4j.png"
    63     )
    64     @ActionReferences({
    65         @ActionReference(path = "Menu/Window"),
    66         @ActionReference(path = "Toolbars/Games")
    67     })
    68     //
    69     // end of NetBeans actions registration
    70     //
    71     
    72     /** Called when page is ready */
    73     public static void onPageLoad() throws Exception {
    74         Mines m = new Mines();
    75         m.applyBindings();
    76     }
    77 }