- Java 9 Programming Blueprints
- Jason Lee
- 460字
- 2021-07-02 18:56:30
Bootstrapping the application
As noted in the introduction, this will be a JavaFX-based application, so we'll start by creating the skeleton for the application. This is a Java 9 application, and we intend to make use of the Java Module System. To do that, we need to create the module definition file, module-info.java, which resides in the root of our source tree. This being a Maven-based project, that would be src/main/java:
module procman.app { requires javafx.controls; requires javafx.fxml; }
This small file does a couple of different things. First, it defines a new procman.app module. Next, it tells the system that this module requires two JDK modules: javafx.controls and javafx.fxml. If we did not specify these two modules, then our system, which we'll see below, would not compile, as the JDK would not make the required classes and packages available to our application. These modules are part of the standard JDK as of Java 9, so that shouldn't be an issue. However, that may change in future versions of Java, and this module declaration will help prevent runtime failures in our application by forcing the host JVM to provide the module or fail to start. It is also possible to build custom Java runtimes via the J-Link tool, so missing these modules is still a possibility under Java 9. With our module configured, let's turn to the application.
The first class we will create is the Application descendant, which NetBeans created for us. It created the Main class, which we renamed to ProcessManager:
public class ProcessManager extends Application { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader .load(getClass().getResource("/fxml/procman.fxml")); Scene scene = new Scene(root); scene.getStylesheets().add("/styles/Styles.css"); stage.setTitle("Process Manager"); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(args); } }
Our ProcessManager class extends the JavaFX base class, Application, which provides a variety of functionality to start and stop the application. We see in the main() method that we simply delegate to Application.launch(String[]), which does the heavy lifting for us in starting our new application.
The more interesting part of this class is the start() method, which is where the JavaFX life cycle calls back into our application, giving us the opportunity to build the user interface, which we'll do next.
- 小創客玩轉圖形化編程
- Python從入門到精通(精粹版)
- Mastering Scientific Computing with R
- Java Web應用開發技術與案例教程(第2版)
- HTML5 and CSS3 Transition,Transformation,and Animation
- Python數據分析從0到1
- Gradle for Android
- 從0到1:Python數據分析
- 小程序,巧應用:微信小程序開發實戰(第2版)
- 大話Java:程序設計從入門到精通
- 深入實踐Kotlin元編程
- Python商務數據分析(微課版)
- RESTful Web API Design with Node.js
- Web前端開發精品課:HTML5 Canvas開發詳解
- 深度學習:基于Python語言和TensorFlow平臺(視頻講解版)