jtulach@63
|
1 |
/**
|
jtulach@63
|
2 |
* The MIT License (MIT)
|
jtulach@63
|
3 |
*
|
jtulach@63
|
4 |
* Copyright (C) 2013 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
|
jtulach@63
|
5 |
*
|
jtulach@63
|
6 |
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
jtulach@63
|
7 |
* of this software and associated documentation files (the "Software"), to deal
|
jtulach@63
|
8 |
* in the Software without restriction, including without limitation the rights
|
jtulach@63
|
9 |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
jtulach@63
|
10 |
* copies of the Software, and to permit persons to whom the Software is
|
jtulach@63
|
11 |
* furnished to do so, subject to the following conditions:
|
jtulach@63
|
12 |
*
|
jtulach@63
|
13 |
* The above copyright notice and this permission notice shall be included in
|
jtulach@63
|
14 |
* all copies or substantial portions of the Software.
|
jtulach@63
|
15 |
*
|
jtulach@63
|
16 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
jtulach@63
|
17 |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
jtulach@63
|
18 |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
jtulach@63
|
19 |
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
jtulach@63
|
20 |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
jtulach@63
|
21 |
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
jtulach@63
|
22 |
* THE SOFTWARE.
|
jtulach@63
|
23 |
*/
|
jtulach@63
|
24 |
package org.apidesign.demo.minesweeper;
|
jtulach@63
|
25 |
|
jaroslav@134
|
26 |
import java.io.File;
|
jaroslav@134
|
27 |
import java.net.URL;
|
jaroslav@134
|
28 |
import java.util.logging.ConsoleHandler;
|
jaroslav@134
|
29 |
import java.util.logging.Level;
|
jaroslav@134
|
30 |
import java.util.logging.Logger;
|
jtulach@63
|
31 |
import net.java.html.boot.BrowserBuilder;
|
jtulach@112
|
32 |
import org.netbeans.api.nbrwsr.OpenHTMLRegistration;
|
jtulach@112
|
33 |
import org.openide.awt.ActionID;
|
jtulach@112
|
34 |
import org.openide.awt.ActionReference;
|
jtulach@112
|
35 |
import org.openide.awt.ActionReferences;
|
jtulach@63
|
36 |
|
jtulach@63
|
37 |
|
jtulach@63
|
38 |
/** Bootstrap and initialization. */
|
jtulach@63
|
39 |
public final class Main {
|
jtulach@63
|
40 |
private Main() {
|
jtulach@63
|
41 |
}
|
jtulach@90
|
42 |
|
jtulach@63
|
43 |
/** Launches the browser */
|
jaroslav@140
|
44 |
public static void main(String... args) throws Exception {
|
jtulach@125
|
45 |
BrowserBuilder.newBrowser().
|
jtulach@63
|
46 |
loadPage("pages/index.html").
|
jtulach@90
|
47 |
loadClass(MinesModel.class).
|
jtulach@90
|
48 |
invoke("main", args).
|
jtulach@63
|
49 |
showAndWait();
|
jtulach@63
|
50 |
System.exit(0);
|
jtulach@63
|
51 |
}
|
jtulach@63
|
52 |
|
jtulach@112
|
53 |
//
|
jtulach@112
|
54 |
// the following annotations generate registration for NetBeans,
|
jtulach@112
|
55 |
// they are harmless in other packaging schemes
|
jtulach@112
|
56 |
//
|
jtulach@112
|
57 |
|
jtulach@112
|
58 |
@ActionID(
|
jtulach@112
|
59 |
category = "Games",
|
jtulach@112
|
60 |
id = "org.apidesign.demo.minesweeper"
|
jtulach@112
|
61 |
)
|
jtulach@112
|
62 |
@OpenHTMLRegistration(
|
jtulach@112
|
63 |
url="index.html",
|
jtulach@119
|
64 |
displayName = "Play Minesweeper!",
|
jtulach@119
|
65 |
iconBase = "org/apidesign/demo/minesweeper/ko4j.png"
|
jtulach@112
|
66 |
)
|
jtulach@112
|
67 |
@ActionReferences({
|
jtulach@112
|
68 |
@ActionReference(path = "Menu/Window"),
|
jtulach@120
|
69 |
@ActionReference(path = "Toolbars/Games")
|
jtulach@112
|
70 |
})
|
jtulach@112
|
71 |
//
|
jtulach@112
|
72 |
// end of NetBeans actions registration
|
jtulach@112
|
73 |
//
|
jtulach@112
|
74 |
|
jtulach@63
|
75 |
/** Called when page is ready */
|
jtulach@112
|
76 |
public static void onPageLoad() throws Exception {
|
jtulach@63
|
77 |
Mines m = new Mines();
|
jtulach@63
|
78 |
m.applyBindings();
|
jtulach@63
|
79 |
}
|
jtulach@63
|
80 |
}
|