javafx由浅到深的 认识(一)
javafx是一款比较新兴的语言框架,随着javafx越来越实用,估计许多程序员也会慢慢接触它,故我在这里对它由浅到深进行介绍一下.
首先,要了解javafx,就应该先知道.xml文件的布局软件,以往java都是通过敲代码来进行布局的,但javafx有力新的突破,它实现了拖动方式,目前我使用的辅助软件是JavaFX Scene Builder 2.0,故这一篇文章我主要首先介绍一下JavaFX Scene Builder 2.0这款软件,希望对大家有所帮助.
打开JavaFX Scene Builder 2.0软件,我们可以看到三大块,第一块是布局所需的元素集合,第二块是布局的位置,第三块是属性的一些设置,下面对这三块我来一一介绍.
8.jpg)
8.jpg)
一. 布局元素
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由浅到深的 认识(一)的更多相关文章
- 浅入深出之Java集合框架(上)
Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...
- 浅入深出之Java集合框架(中)
Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到<浅入深出之Java集合框架 ...
- 浅入深出之Java集合框架(下)
Java中的集合框架(下) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,哈哈这篇其实也还是基础,惊不惊喜意不意外 ̄▽ ̄ 写文真的好累,懒得写了.. ...
- 浅入深出Vue:环境搭建
浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...
- 浅入深出Vue:工具准备之PostMan安装配置及Mock服务配置
浅入深出Vue之工具准备(二):PostMan安装配置 由于家中有事,文章没顾得上.在此说声抱歉,这是工具准备的最后一章. 接下来就是开始环境搭建了~尽情期待 工欲善其事必先利其器,让我们先做好准备工 ...
- 浅入深出Vue:工具准备之WebStorm安装配置
浅入深出Vue之工具准备(一):WebStorm安装配置 工欲善其事必先利其器,让我们先做好准备工作吧 导航篇 WebStorm安装配置 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版 ...
- 浅入深出Vue系列
浅入深出Vue导航 导航帖,直接点击标题即可. 文中所有涉及到的资源链接均在最下方列举出来了. 前言 基础篇 浅入深出Vue:工具准备之WebStorm搭建及配置 浅入深出Vue之工具准备(二):Po ...
- 浅入深出Vue:前言
浅入深出Vue系列文章 之前大部分是在做后端,后来出于某些原因开始接触Vue.深感前端变化之大,各种工具.框架令人眼花缭乱.不过正是这些变化,让前端开发更灵活. 博主在刚开始时,参考官网的各个步骤以及 ...
- Service由浅到深——AIDL的使用方式
前言 最近有很多朋友问我这个AIDL怎么用,也许由于是工作性质的原因,很多人都没有使用过aidl,所以和他们讲解完以后,感觉对方也是半懂不懂的,所以今天我就从浅到深的分析一下这个aidl具体是怎么用的 ...
随机推荐
- OpenLayers学习笔记(十)— 动态加载JSON数据模拟航迹线
在openlayers 3 上,加载本地json数据,动态绘制航迹线,以飞机当前位置为地图中心,此例子是模拟DEMO 本文链接:动态加载JSON数据模拟航迹线 作者:狐狸家的鱼 GitHub:八至 前 ...
- python学习笔记之集合
集合:可变的数据类型,他里面的元素必须是不可变的数据类型,无序,不重复. {}'''# set1 = set({1,2,3})# set2 = {1,2,3,[2,3],{'name':'alex'} ...
- 20175209 实验二《Java面向对象程序设计》实验报告
20175209 实验二<Java面向对象程序设计>实验报告 一.实验前期准备 了解三种代码 伪代码 产品代码 测试代码 我们先写伪代码,伪代码 从意图层面来解决问题: 有了伪代码 我们用 ...
- Apache Hadoop 2.9.2 的Federation架构设计
Apache Hadoop 2.9.2 的Federation架构设计 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 能看到这篇文件,说明你对NameNode的工作原理想必已经了如 ...
- C语言 内存管理(转)
转自 https://blog.csdn.net/u011616739/article/details/61621815 C语言 内存管理 1.内存分区 C源代码进过预处理.编译.汇编和链接4步生成 ...
- Dynamics CRM 日常使用JS整理(二)
BPF(Business Process Flow)相关的JS 为Stage添加changed或者selected事件: function fnOnLoad() { Xrm.Page.data.pro ...
- C# winform 播放资源中的音频文件
Mark一下 SoundPlayer simpleSound = new SoundPlayer(Properties.Resources.ResourceManager.GetStream(shen ...
- Web安全基础——小白自学
2019-02-23 19:41:49 话不多说,直接分享我学习到的东西~ Web万维网(World Wide Web,WWW),这个名称我们熟悉不过啦.跟它密切相关就是HTTP,叫做超文本传输协 ...
- PLSQL Developer 没有64位版本 + 找不到 msvcr71.dll
由于 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错,笔者为这个问题纠结了好几天,后来通过请教Google + 动手实践,终于搞定了这个问题 ...
- Q查询条件
e. Q查询 ``` def search(self, query_list): query = self.request.GET.get('query', '') # 获取query的值 # Q(Q ...