当前位置 : 主页 > 编程语言 > java >

JAVAFX-1 开发应用

来源:互联网 收集:自由互联 发布时间:2022-08-10
为什么用javafx? 写这个专题的目的,其实也是好玩,原来的熟悉的使用swing 来开发java中的gui程序,其实早就知道有javafx 这个东西的,一致没有时间的玩,最近有时间所以学习.这个专题会参考的

为什么用javafx?

  • 写这个专题的目的,其实也是好玩,原来的熟悉的使用swing 来开发java中的gui程序,其实早就知道有javafx 这个东西的,一致没有时间的玩,最近有时间所以学习.这个专题会参考的其它的现有教程,结合自己对于swing的理解,可能有的地方说得不是太清楚,将就将就吧.
  • swing与javafx的一篇水文章​​https://www.zhihu.com/question/37236236​​
  • 现有参考文章​​http://www.yiibai.com/javafx/javafx_overview.html​​
  • 所有代码 文章打包为pdf url[​​https://github.com/PEAKWEI/Javafx​​]

javafx是什么?

  • 实际上就是开发gui程序 ,富互联网应用是那些提供与Web应用程序类似的功能,并可作为桌面应用程序体验的应用。与用户的正常网络应用程序相比,它们提供更好的视觉体验。这些应用程序可作为浏览器插件或作为虚拟机提供,用于将传统静态应用程序转换为更加增强,流畅,动画和引人入胜的应用程序。
  • 现有前端技术也可以做gui程序,比如网易云音乐,网易有道词典等,性能还可以,不过我们这里主要说javafx. 其实你有兴趣还是可以去看看的网易的开源的拿到api系统

迅速步入开发过程

  • 我们这里选择eclipse 喜欢的idea 可以用idea构建学习.它们都提供 了相应的构建插件
  • 开发环境下载地址:
  • 这里我给的是直接的ide下载环境,随着eclipse 迭代更新
    ​​​http://downloads.efxclipse.bestsolution.at/downloads/nightly/sdk/​​
  • JAVAFX-1 开发应用_应用程序


  • 如果你要手动集成开发环境可以看下面这篇文章
    ​​http://www.yiibai.com/javafx/install-efxclipse-into-eclipse.html​​
  • JavaFX Scene Builder下载
  • JavaFX Scene Builder是一种可视布局工具,允许用户快速设计JavaFX应用程序用户界面,而无需编码。用户可以将UI组件拖放到工作区,修改其属性,应用样式表,并且它们正在创建的布局的FXML代码将在后台自动生成。它的结果是一个FXML文件,然后可以通过绑定到应用程序的逻辑与Java项目组合。
  • 可以有效与eclipse 进行集成 ,这里选择 2..版本
  • JAVAFX-1 开发应用_eclipse_02

地址: ​​http://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html​​

JAVAFX-1 开发应用_应用程序_03

  • 如何集成到eclipse
    ​​http://www.yiibai.com/javafx/install-javafx-scene-builder-into-eclipse.html​​
  • 开发理论
  • 上面的开发环境部署就这么多,下面大概介绍一下开发基础理论,javafx不再是单独的mvc 开发模式,虽然说本质上还是,如何你是一个了解安卓开发的,那么很快就会熟悉javafx开发 ,他们有很多相类似的地方,请看下面这张图
  • JAVAFX-1 开发应用_java_04

在VIEW上显示它
用户使用CONTROLLER
操作数据(更新,修改,删除,..),MODEL上的数据已更改。
在VIEW上显示MODEL的数据。

  • 造 hello world
    构建应用程序
  • 从”File”菜单中选择”New Project”。
  • 在”JavaFX”应用程序分类中,选择”JavaFX Application”,单击”Next”按钮。
  • 将Project命名为”HelloWorld”并单击”Finish”按钮。
  • import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    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) {
    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!”);
    }
    });

    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);
    }
    }

    ● JavaFX应用程序的主类需要继承自application.Application类。start()方法是所有JavaFX应用程序的入口。

    ● JavaFX应用程序将UI容器定义为舞台(Stage)与场景(Scene)。Stage类是JavaFX顶级容器。Scene类是所有内容的容器。例3-1中创建了Stage和Scene,然后为Scene设置了大小并使其可见。

    ● 在JavaFX中,Scene中的内容会以由图形节点(Node)构成的分层场景图(Scene Graph)来展现。在本例中,root节点是一个StackPane对象,它是一个可以调整大小的layout节点。这就意味着在用户改变stage大小时,root节点可以随scene的大小变化而变化。

    ● root节点包含一个带文本的按钮子节点,按钮上添加了一个事件处理器(Event Handler),它在点击按钮时会向控制台输出信息。

    ● 当JavaFX应用程序是通过JavaFX Packager工具打包时,main()方法就不是必需的的了,因为JavaFX Package工具会将JavaFX Launcher嵌入到JAR文件中。但是保留main()方法还是很有用的,这样你可以运行不带有JavaFX Launcher的JAR文件,例如在使用某些没有将JavaFX工具完全集成进去的IDE时。另外嵌入了JavaFX代码的Swing应用程序仍需要main()方法。

    JAVAFX-1 开发应用_eclipse_05

    • 运行效果

    JAVAFX-1 开发应用_eclipse_06



    上一篇:hdu1253胜利大逃亡(bfs)
    下一篇:没有了
    网友评论