javafx 8 helloworld

快速开始

  1. 本文所使用的IDE : IntelliJ IDEA 2017.3.2 (Community Edition)
  2. 本文所使用的Java版本 :

    1
    2
    3
    4
    $ java -version 
    java version "1.8.0_144"
    Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
    Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
  3. 新建普通Maven项目(非必须,个人习惯)
    项目结构如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    $ tree --dirsfirst
    .
    ├── src
    │   ├── main
    │   │   ├── java
    │   │   │   └── com
    │   │   │   └── iezview
    │   │   │   ├── app
    │   │   │   │   └── Main.java
    │   │   │   └── controller
    │   │   │   └── FirstController.java
    │   │   └── resources
    │   │   └── com
    │   │   └── iezview
    │   │   ├── app
    │   │   └── fxml
    │   │   └── Hello.fxml
    │   └── test
    │   └── java
    ├── README.md
    ├── fx_helloWorld.iml
    └── pom.xml
  4. 下面列出文件内容
    pom.xml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.iezview</groupId>
    <artifactId>fx_helloWorld</artifactId>
    <version>1.0-SNAPSHOT</version>

    </project>

    Main.java

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    package com.iezview.app;

    import javafx.fxml.FXMLLoader;
    import javafx.scene.Parent;
    import javafx.scene.Scene;
    import javafx.stage.Stage;

    public class extends javafx.application.Application {
    public void start(Stage primaryStage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("/com/iezview/fxml/Hello.fxml"));
    primaryStage.setTitle("Hello World");
    primaryStage.setScene(new Scene(root, 300, 275));
    primaryStage.show();
    }
    }

    FirstController.java

    1
    2
    3
    4
    package com.iezview.controller;

    public class FirstController {
    }

    Hello.fxml

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?xml version="1.0" encoding="UTF-8"?>

    <?import java.lang.*?>
    <?import java.util.*?>
    <?import javafx.scene.*?>
    <?import javafx.scene.control.*?>
    <?import javafx.scene.layout.*?>

    <AnchorPane xmlns="http://javafx.com/javafx"
    xmlns:fx="http://javafx.com/fxml"
    fx:controller="com.iezview.controller.FirstController"
    prefHeight="400.0" prefWidth="600.0">

    </AnchorPane>

运行效果

运行效果