Add Interface.setCore(Core) method to set the core that is controlled by the interface.
[jkeytool.git] / src / net / pterodactylus / jkeytool / main / Main.java
1 /*
2  * jkeytool - Main.java -
3  * Copyright © 2009 David Roden
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 package net.pterodactylus.jkeytool.main;
21
22 import net.pterodactylus.jkeytool.core.Core;
23 import net.pterodactylus.jkeytool.gui.Interface;
24 import net.pterodactylus.jkeytool.gui.swing.SwingInterface;
25 import de.ina.util.version.Version;
26
27 /**
28  * Starter for the jkeytool application.
29  *
30  * @author David Roden <droden@gmail.com>
31  */
32 public class Main {
33
34         /** The version of jkeytool. */
35         private static final Version VERSION = new Version(0, 0, 1);
36
37         /**
38          * Returns the version of jkeytool.
39          *
40          * @return The version of jkeytool
41          */
42         public static Version getVersion() {
43                 return VERSION;
44         }
45
46         //
47         // VM ENTRY
48         //
49
50         /**
51          * JVM main entry method.
52          *
53          * @param arguments
54          *            The command-line arguments
55          */
56         public static void main(String[] arguments) {
57                 Core core = new Core();
58                 Interface gui = getInterface();
59                 gui.setCore(core);
60                 core.addCoreListener(gui);
61                 gui.start();
62         }
63
64         //
65         // PRIVATE METHODS
66         //
67
68         /**
69          * Returns the interface to use.
70          *
71          * @return The interface to use
72          */
73         private static Interface getInterface() {
74                 return new SwingInterface();
75         }
76
77 }