Javafx 初识

一、Javafx认识

javaFx 是java的一种开发桌面程序的技术。之前我用过c#的winform,java swing 都是传统的纯c/s开发,似乎和web开发没有任关系。后来接触了javafx 发现在结构很像mvc,如果习惯了web开发,用javafx还是非常方便的。

     接下来我将记录和介绍学习javafx的过程。

二、javafx 简单程序搭建

 实现的主要功能:由两个界面构成,第一个界面可以在文本框中显示内容,和打开第二个窗体

知识点:了解fxml与后台代码的关系,怎样交互,css样式使用,控件在使用,几种布局方式。

现在开始推搭建:

1.首先配置java环境,要用jdk1.8+。IDE选用idea 比较方便,因为jdk1.7以上集成了scene builder,可以在idea中不用配置直接使用。

也遇到过不能打开的,需要下载scene builder。 这里就以下载并配置为例,下载地址https://www.oracle.com/technetwork/java/javase/downloads/javafxscenebuilder-1x-archive-2199384.html

2.下载完成后点击默认安装,打开idea->setting->搜javafx->配置scene builder安装路径(选到exe文件)

3.file->new->project->javafx 就可以新建一个javafx项目,并运行展示效果了。这种比较简单,在实际项目中这样的项目的结构不方便使用,最好用maven构建。所以file->new->project->maven按照步骤完成

4.建立入口程序MainApp继承Application,重写start方法

注意getResource路径问题,用maven项目一般非java文件要放到resources下面,resources的目录就是程序运行的根目录所以可以用“/”获取下面的资源文件,如本项目的目录结构为:

5.fxml介绍

fxml是javafx的视图文件,可以配置布局,样式,有点像web的html文件,与后台代码解藕,不用像swing那样需要在java代码中添加控件和布局,打开文件点击scene builder可以视图方式查看,可以在这种方式下拖动控件添加,也可以切换txt,写代码添加

关于布局这里介绍三种:

1.GridPanel 这是表格布局,可以设置行和列,形成一个个格子,换控件添加到格子里,通过设置gridpanel.

columnIndex和rowIndex进行定位,还可以columnSpan和rowSpan进行跨行。列和行可以设置成随窗体大小自适应

2.BorderPanel 是一种自适应布局,分上中下左右,一般作为底层容器或内容显示区很方便

3.AnchorPanel 可以理解为绝对定位布局,只有这种方式在视图编辑模式随意拖动控件确定位置,这种布局不是自适应的,相对于左上角确定位置。如果窗体大小是固定的用这种方式,非常方便。

现在只介绍这三种,其它以后用它再说。开发中很少单独用一种布局,一般都是搭配使用的。

6.fxml与后台代码

fxml的panel可以设置fx:controller指定后台的类,实中可以通过注解@fxml注入fxml的控件,注意控件是通过id和控件名对的应的,即:fcml定义了fx:id,controller类中的控件名要和id一致才能绑定。控件还可以通过 onAction与类中的方法绑定,方法的参数类型要为 ActionEvent

7.fxml与css

fxml中可以可设置css,只用在根节点即panel中设置 stylesheets即可。

css样式分为:

         类型选择器:“.”+"控件名字小"写如果控修的是多个单词组成,则以下划线连接

          类选择器:“.”+自定义名字

          id选择器:“#”+id名

控件可以通过styleClass指定类选择器,可以覆盖(合并)父节点引入的的类型选择器

写得有点累。。。也结束了,下一节介绍javafx+spirng boot+mybatis

最后看一下效果图

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值