搭建环境。
1. 下载安装JDK 8。
2. 下载集成JavaFX开发eclipse。我的下载当前最新版本是:eclipse 4.6 。官网提供的下载地址不翻墙太慢了。
3.下载JavaFX的UI设计工具。(这个hello world项目运行可以先不用下载安装,后面设计UI时才用到)
上面是window 32位系统的。64位系统下载下面的:
配置Eclipse 所使用 JDK 和 Scene Builder:
打开 Eclipse 的设置并找到 Java | Installed JREs 。
点击 Add…, 选择 Standard VM 并选择你安装 JDK 8 的 Directory 。
移除其他的 JREs 或 JDKs 从而使 JDK 8 成为默认。
在 Java | Compiler 中设置 Compiler compliance level 到 1.8。
在 JavaFX 中指定你的 Scene Builder 可执行文件的路径。
创建并启动一个JavaFX项目。
看教程提供的方法是:
1.在 Eclipse(已安装 e(fx)clipse 的)中,点击 File | New | Other… 并选择 JavaFX Project。
2.指定这个项目的名字(e.g. HelloApp)并点击 Finish。
3.如果 application 包被自动创建,那么删除它和它的内容。
2.指定这个项目的名字(e.g. HelloApp)并点击 Finish。
3.如果 application 包被自动创建,那么删除它和它的内容。
但是按照教程操作,我总是卡在Finish那里,第一次点击完成,窗口跳了一下,还是原来窗口,继续点击finish,这弹出提示窗口,显示什么:
the user operation is wating for “updating project HelloApp”。网上查了好久办法,对eclipse配置该改了改了,eclipse重启N多次。还是没解决。
最后关闭eclipse,直接删除文件夹下的项目文件,创建了一个普通的java project 。然后build path 把javafx需要的jar导入进去。(PS:问题是昨天遇到的,今天本来想重现一下截个图,突然发现好了,可以正常创建项目了,无语,还是把一般项目改为JavaFX说一下吧,其实很简单,就是把jar加进去就行了)
HelloWorld.java
package test;import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class HelloWorld extends Application { @Override public void start(Stage primaryStage) throws Exception { Button btn = new Button(); btn.setText("say hello world"); //为按钮添加事件 //匿名类方式添加事件 // btn.setOnAction(new EventHandler<ActionEvent>(){ // @Override // public void handle(ActionEvent event) { // System.out.println("hello world。。。"); // } // }); //lambda表达式方式添加事件(java8可以使用这种语法) btn.setOnAction((e) -> { System.out.println("hello world。。。"); }); StackPane root = new StackPane(); root.getChildren().add(btn); //场景 Scene scene = new Scene(root, 300, 250); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
编译运行可以看到下面界面,点击按钮,控制台会输出hello world
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow