javafx是一款比较新兴的语言框架,随着javafx越来越实用,估计许多程序员也会慢慢接触它,故我在这里对它由浅到深进行介绍一下.

首先,要了解javafx,就应该先知道.xml文件的布局软件,以往java都是通过敲代码来进行布局的,但javafx有力新的突破,它实现了拖动方式,目前我使用的辅助软件是JavaFX Scene Builder 2.0,故这一篇文章我主要首先介绍一下JavaFX Scene Builder 2.0这款软件,希望对大家有所帮助.

打开JavaFX Scene Builder 2.0软件,我们可以看到三大块,第一块是布局所需的元素集合,第二块是布局的位置,第三块是属性的一些设置,下面对这三块我来一一介绍.

一. 布局元素
   1.
containers容器一栏,在这一栏中有各种容器,所谓容器,就是用来装载其他按钮表格之类的一块区域,合理地利用容器,可以很好的进行布局,
 建议初学者将每个容器一一拖到布局位置进行查看它的效果,从而掌握每个容器应用到何处,其中Vbox以及Hbox是以后介绍页面正常全屏显示的    
     关键,请大家关注接下来的一些文章

2.
controls,控制器一栏,这一栏的元素存在的基础是有容器,控制器必须放在容器中,每个控制器都是自己独立的显示方式以及功能,lable文字标
签控制器,用来显示一些文字;button按钮控制器,用来做功能按钮;checkbox复选框,用来判断是否选择的选择框;choicebox,combobox,
         
文字选择器,用来选择下拉框中的文字;imageview图片加载器,用来放置图片(注意:实际编程时,改图片必须存放在该项目源文件夹中,与
            该.xml文
件处于同一目录下);pagination分页控件,与表格一起使用可以加载多页数据;tableview表格控件,可以在其中加载所需的数据,数    
      据源可以来自
于数据库;textfiled文本框控件,用于输入信息的,可以用来输入存储信息及查询信息等等,还有更多其他的控件,在以后会做更多        
的介绍,并且会介绍一些控件具体的程序实现。

二. 布局位置

1.
用鼠标将布局元素直接拖至这块区域,就可以看到所拖元素的展现形式,可以在这一调整元素的大小以及位置,并且温馨提示一下,如果你要使
用ctrl+v,那么你所粘贴的元素会出现在与你选中元素同一个容器中,即粘贴的元素与选中的元素是同一级别的。如果有一些误操作,建议使用      
      ctrl+z来进行恢复。

三. 属性

1.   properties基本属性块,editable选则是否可编辑,一般来说,对有输入型的控件比较适用,例如textfiled控件,如果可编辑状态没有打钩,那么
这个文本框就不可以输入值;disable是否可用的状态编辑,如果这一项打上钩,那么就会发现,这个元素正题颜色会变得暗淡,变现为不可用    
       
状态;visiable是否可见状态,如果这一项不打钩,就会发现这个元素在布局上没有了,貌似隐藏了,实际上就是将这个元素隐藏起来,并且不      
     
可用;cursor鼠标状态,主要用来设置鼠标移动到这个元素位置上时,鼠标显示的图标形状,通常一些功能按钮会设置成hand图标类型;style  
          风格设置,可以用来设置元素底色之类的。

2.
layout属性块,padding主要针对的是元素在布局中的位置,可以上下左右的位置进行相应的微调;接下来的height跟width这些属性将对Hbox及
Vbox的全屏显示布局显示至关重要,因此后面会涉及到全屏显示到底如何具体设置;接下来的xyz基本上就是设置元素在页面上位置的属性。

3. code属性块

fx:id
:这个主要是给这个元素设置一个ID,这个Id主要是为了能够清晰的在程序中辨别出各个元素,一般而言,基本上绝大部分元 素都是需要
 去辨别的,所以除了一些实在不需要作程序处理的元素,其他的都必须给一个Id,而且在同一个.XML文件中,一般每个元素对应的 id都不会      
     
     相同,id有着明确的指向性;

On Action触发事件:事件是ActionEvent,在这里设置一个触发函数名,然后在程序中给这个函数写入相 应的方法,这个事件 的触发是鼠标左  击这个元素就可以了;

On Key
Pressed触发事件:事件是KeyEvent,在这里设置一个触发函数,然后在程序中写入相应的方法,这是一个键盘按键触发事件,只要有
按钮按下就会触发,经常实现的就是Enter键触发事件的设置,在这个触发事件正增加一个判断是否为Enter键操作,即可实现按回车键进行      
 
         搜素的事件。

On Mouse
Clicked触发事件:事件是MouseEvent,在这里设置一个触发函数,然后在程序中写入相应的方法,这是一个鼠标触发事件,只要  
鼠标点击相应的元素(无论左击还是右击),就可以触发这个函数,当然,如果你不希望左右击都实现功能,则可以在这个函数中添加一个        
        鼠标左右击的判断事件,从而实现只有左击或右击实现功能,具体如何在程序中如何判断,以后会介绍。

On Mouse
Dragged触发事件:事件是MouseEvent,在这里设置一个触发函数,然后在程序中写入相应的方法,这是一个鼠标点击拖动事      
件,当鼠标点击按住不动开始拖动时,就不断地触发这个函数,这个触发事件可以做鼠标拖动页面的操作。

以上是经常会用到的一些触发事件,还有其他更多的触发事件,在这里就不作一一介绍了,有兴趣的同学可以自己去一一尝试其他触发事件的               作用。

这一期就写到这里,下一期将通过程序来具体介绍一些控件的具体操作以及设置。

原文地址:http://blog.csdn.net/z01014274/article/details/44101125

javafx由浅到深的 认识(一)的更多相关文章

  1. 浅入深出之Java集合框架(上)

    Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...

  2. 浅入深出之Java集合框架(中)

    Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...

  3. 浅入深出之Java集合框架(下)

    Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ...

  4. 浅入深出Vue:环境搭建

    浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...

  5. 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置

    浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...

  6. 浅入深出Vue:工具准备之WebStorm安装配置

    浅入深出Vue之工具准备(一):WebStorm安装配置 工欲善其事必先利其器,让我们先做好准备工作吧 导航篇 WebStorm安装配置 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版 ...

  7. 浅入深出Vue系列

    浅入深出Vue导航 导航帖,直接点击标题即可. 文中所有涉及到的资源链接均在最下方列举出来了. 前言 基础篇 浅入深出Vue:工具准备之WebStorm搭建及配置 浅入深出Vue之工具准备(二):Po ...

  8. 浅入深出Vue:前言

    浅入深出Vue系列文章 之前大部分是在做后端,后来出于某些原因开始接触Vue.深感前端变化之大,各种工具.框架令人眼花缭乱.不过正是这些变化,让前端开发更灵活. 博主在刚开始时,参考官网的各个步骤以及 ...

  9. Service由浅到深——AIDL的使用方式

    前言 最近有很多朋友问我这个AIDL怎么用,也许由于是工作性质的原因,很多人都没有使用过aidl,所以和他们讲解完以后,感觉对方也是半懂不懂的,所以今天我就从浅到深的分析一下这个aidl具体是怎么用的 ...

随机推荐

  1. python学习笔记之集合

    集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复. {}'''# set1 = set({1,2,3})# set2 = {1,2,3,[2,3],{'name':'alex'} ...

  2. Java:文件字符流和字节流的输入和输出

    最近在学习Java,所以就总结一篇文件字节流和字符流的输入和输出. 总的来说,IO流分类如下: 输入输出方向:     输入流(从外设读取到内存)和输出流(从内存输出到外设) 数据的操作方式: 字节流 ...

  3. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  4. 02-oracle中的基础sql

    1.SQL SQL(Structured Query Language) 语言是目前主流的关系型数据库上执行数据操作.数据检索以及数据库维护所需要的标准语言,是用户与数据库之间进行交流的接口,许多关系 ...

  5. Apicloud学习第四天

    apicloud存储机制,添加和获取存储的数据 $api.setStorage('currentCity', cityList[i_]); $api.getStorage('currentCity') ...

  6. numpy&pandas补充常用示例

    Numpy [数组切片] In [115]: a = np.arange(12).reshape((3,4)) In [116]: a Out[116]: array([[ 0, 1, 2, 3], ...

  7. setLocale(java.util.Locale), setCharacterEncoding(java.lang.String),setContentType(java.lang.String type)

    对于setCharacterEncoding(java.lang.String),这个方法是javax.servlet.ServletRequest和javax.servlet.ServletResp ...

  8. Supervisor的安装以及使用

    1.supervisor的介绍 Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统,通过配置可以实 ...

  9. git 解决每次更新代码都要输入用户名密码的解决方案

    使用git pull或者git push每次都需要输入用户名和密码很繁琐,耽误时间,现在教大家一条命令实现保存用户名和密码不用再输入 git config --global credential.he ...

  10. 开发一个项目之npm

    npm (nodejs平台上写的js模块的管理工具  下载.互相依赖等) npm install 本地项目的node_modules文件夹  , -g  npm config prefix 目录eg: ...