JavaFx开发教程--基础项目结构(一)

1-------javaFx项目结构

在Fx项目中,没有正常web-maven项目的权限和资源目录,只有controller与fxml文件直接的互相引用,每个项目文件之间都是平等的。个人常用的结构如下:

2--------简便化开发

JavaFx拥有桌面可视化手绘工具,我们为了提高效率可以使用可视化工具。在以下网址中下载安装后,在Intellij的设置中搜索javaFx然后维护;维护的路径为安装后文件目录下出现的.exe文件路径

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

安装的路径建议放置在放置Intellij安装文件夹的文件夹中一起,并且保证安装的路径是属于全英路径!  安装并维护完成后在IntelliJ工程中,选中fxml文件,右键选中open in SceneBuilder就可以打开使用了。

3--------基本认识

javaFx是一种静态化的脚本语言,几乎具备了基础运算的各种功能,能非常简便快速地创建图形界面,主要用于编写各类跨平台的客户端程序!

在代码中javafx.application.Application 类是所有Fx程序的入口,每一个javaFx程序都可以理解为是一个应用,Fx程序中的自定义类继承并重写其start()类后,便具备了作为当前Fx程序的启动入口。

Fx程序的运行可以理解为一出出的舞台剧 , 那么我们便需要一个舞台,一出出的场景以及场景的内容。在Fx程序中,Start(Stage primaryStage)方法的参数可以理解为该程序的舞台。javafx.stage.Stage类继承自javafx.stage.Window类,是JavaFX的顶层容器,他通常以窗体的形态展示出来,当Fx程序被启动的时候舞台也被创建,这个时候我们看到的是一张“白板”。

关于舞台的装饰以下提供几种:

1---------风格(Style):一个stage有且仅有以下一种风格

-----------StageStyle.DECORATED:有装饰的实心白色

-----------StageStyle.UNDECORATED:无装饰的实心白色

-----------StageStyle.TRANSPARENT:无装饰的透明舞台

-----------StageStyle.UTILITY:有着朴素装饰的实心白色

=======================================================================================================

2---------专属(owner):一个stage可以选择性的选择一个window作为其所有者,通过initOwner(..)方法指定所属窗口对象

=======================================================================================================

3---------等级(Modality):一个stage可以选择其展现的等级,是在当前窗口其他窗体之上还是,在所有窗体之上都是可以选择的?

-----------Modality.NONE:不遮挡别的stage

-------Modality.WINDOW_MODAL:stage阻挡所有传入其所有者的window的输入事件

-------Modality.APPLICATION_MODAL:stage阻挡所有来自同一个application的输入事件

=======================================================================================================

Stage相当于Swing中的Window窗口,是容纳java.scene.Scene的容器,scence则相当于swing中的JFrame窗体框架,我们的操作就就是在scence里面添加自己需要的元素!

我们知道Scence窗体的显现是通过Fxml来配置显示的 ,Fxml本质上也是一个XML文件,里面的每个面板,按钮都是通过标签对来配置显示的,因此javafx.scene.Scene容器本质上是以树的形式来组织起一个个元素。一般而言我们根节点都是一个个的面板(StackPane,BorderPane等)。

javafx.scene.Scene类是依附于javafx.stage.Stage类存在,是场景的意思;场景可以添加控件和其它用户接口结点——通过这种方法创建应用程序的用户界面,一个Stage必须至少有一个Scene

 

4-------以下为基本的窗体样式:

Fxml样式:

-------对于一个布局而言,其基本样式有

<?import java.net.*?>   :类似java 页面的导包

fx:controller:当你想要处理一些事件控制的时候,这个属性是必须的。

xmlns:fx     :该属性指定了fx的命名空间,这也是必须的。

alignment  :是给该GridPane相对于父元素居中呈现。

hgap和vgap  是设置该网格布局的水平行和垂直列的间距。这里是10个像素

除此之外还有一些页面参数标签对,用于对页面进行效果操作!

-------对于一个功能性事件而言,其基本样式有

GridPane.columnIndex:网格布局的第几列

GridPane.rowIndex:网格布局的第几行

onAction :按钮事件的事件指向,其中#handXXXXXXX则为该事件的方法名

fx:id   :属性名或者类名,属性名必须要和fxml中定义的fx:id一致,并加上@FXML注解。这个注释标志着保护或私有类成员指向FXML

一个个的标签对就是功能性事件

------对于一个FXML,依旧可以导入CSS样式:

以上为一个基本的白板类型的Fx项目
 

5---------总结:

也即是一个完整的项目需要继承application类的自定义类型,重写start()方法后,启动舞台和背景。而在Fx启动的时候会先通过main()方法找到launch(),通过launch()方法JVM对该自定义类进行实例化!然后便是一出舞台剧了!

  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值