javafx由浅到深的 认识(一)

 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/280118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux用户的根目录_为什么Linux允许用户删除根目录?

linux用户的根目录Most of the time, none of us willingly performs an action that will literally break our operating systems and force us to reinstall them. But what if such an action could easily occur even by accident on the user’s part? Today’s SuperUs…

微软跨平台maui开发chatgpt客户端

image什么是maui.NET 多平台应用 UI (.NET MAUI) 是一个跨平台框架,用于使用 C# 和 XAML 创建本机移动(ios,andriod)和桌面(windows,mac)应用。imagechagpt最近这玩意很火,由于网页版本限制了ip,还得必须开代理, 用起来比较麻烦&a…

在Xshell 6开NumLock时按小键盘上的数字键并不能输入数字

小键盘问题 在Xshell 6上用vi的时候,开NumLock时按小键盘上的数字键并不能输入数字,而是出现一个字母然后换行(实际上是命令模式上对应上下左右的键)。解决方法 选项Terminal->Features里,找到Disable application …

chrome 固定缩放比例_您如何调整Google Chrome浏览器的用户界面缩放比例?

chrome 固定缩放比例Everything can be going along nicely until a program gets a new update that suddenly turns everything into a visual mess, like scaling up the UI, for example. Is there a simple solution? Today’s SuperUser Q&A post has some helpful …

优雅告别 2022 年,2023 年主题:敢想,就敢做!

自从工作之后,每年春节我都会花一天时间,一个人待在一个小房间,思考自己今年做了什么具备阶段性成果的事情。然后,写下明年需要执行的计划。会写在一个 XMind 文件里,记录每一年将要执行的计划,且未完成的计…

java发送gmail_如何在Gmail中轻松通过电子邮件发送人群

java发送gmailMailing lists are an old tool in the email arsenal, but their implementation in Gmail isn’t immediately intuitive. Read on as we show you how to email groups using your Gmail account. 邮件列表是电子邮件库中的一个旧工具,但是在Gmail中…

Asp.net MVC使用Model Binding解除Session, Cookie等依赖

上篇文章"Asp.net MVC使用Filter解除Session, Cookie等依赖"介绍了如何使用Filter来解除对于Session, Cookie的依赖。其实这个也可以通过Model Binding来达到同样的效果。 什么是Model Binding? Model Binding的作用就是将Request请求中包含的散乱参数,根…

火狐 新增标签 一直加载_在Firefox的新标签页中加载最后标签页的URL

火狐 新增标签 一直加载Yeah, you’re pretty sure that you’re the master of all things Firefox. I mean, why else would you be reading this article? So, we’ve got to ask, have you ever seen this one before? 是的,您很确定自己是Firefox的所有人。 …

ptyhon【递归练习】

转载于:https://www.cnblogs.com/LTEF/p/9187287.html

JAVA常量

2019独角兽企业重金招聘Python工程师标准>>> 常量就是一个固定值。它们不需要计算,直接代表相应的值。 常量指不能改变的量。 在Java中用final标志,声明方式和变量类似: final double PI 3.1415927; 虽然常量名也可以用小写&…

基于Docker托管Azure DevOps代理

Azure DevOps非常好用,但是为代理准备单独的服务器经常会显得性价比不高:配置低了,前端构建时会教会你做人,配置太高又有点浪费资源,代理数量少了各团队构建要打架。对于既想享受DevOps的美妙之处但是资源捉襟见肘的小…

微软 word转换pdf_如何将行转换为Microsoft Word表中的列

微软 word转换pdfYou’ve created a table in Word and started to enter your data. Then, you realize that the table should be transposed, meaning the rows should be columns and vice versa. Rather than recreating the table and manually entering the data again,…

pycharm中如何正确配置pyqt5

网上看了几个文章,不成功。这样做才是正确姿势: /Users/mac/anaconda3/bin/Designer.app /Users/mac/anaconda3/bin$ProjectFileDir$ pyuic5 $FileName$ -o $FileNameWithoutExtension$.py $ProjectFileDir$ 其它细节懒得说。 转载于:https://www.cnblog…

如何在Photoshop中制作双曝光图像

Double exposure images are popular at the moment. Taylor Swift’s Style music video and the True Detective opening theme both used the effect. It’s a technique where two separate photos—typically a portrait and a landscape—are blended together into one …

记一次.NET 某安全生产系统 CPU爆高分析

一:背景 1.讲故事今天是🐏的第四天,头终于不巨疼了,写文章已经没什么问题,赶紧爬起来写。这个月初有位朋友找到我,说他的程序出现了CPU爆高,让我帮忙看下怎么回事,简单分析了下有两点…

JDBC 学习笔记(一)—— JDBC 基础

1. 什么是 JDBC JDBC,Java Database Connectivity(Java 数据库连接),是一组执行 SQL 语句的 Java API。 JDBC,是 Java SE(Java Platform, Standard Edition)标准的一部分。 Java 程序可以通过 J…

JavaScript享元模式

JavaScript享元模式 通过两个例子的对比来凸显享元模式的特点:享元模式是一个为了提高性能(空间复杂度)的设计模式,享元模式可以避免大量非常相似类的开销。 第一实例,没有使用享元模式,计算所花费的时间和空间使用程度。 要求为&…

mac屏幕截图_如何在Mac上拍摄屏幕截图

mac屏幕截图On a Mac, you can take screenshots with a few quick keyboard shortcuts. But Mac OS X also includes more powerful screenshot tools, too. Here are some of the many ways you can get a screenshot on OS X. 在Mac上,您可以使用一些快速的键盘快…

新手AS常见问题集锦

开发环境 以前开发android的时候可以使用eclipse,虽然现在也能使用eclipse,但是google已经不再支持使用eclipse开发android了。因为google有了自己的IDE---android studio,这个IDE我自己认为安装的时候比较方便,唯一的缺点就是在下…

也许你曾经读过他的书

我们愿用“能理能文、才华多元”来形容他。因为热爱编程和游戏,所以他将爱好变成了职业,并在这条路上持续奔跑;因为热爱分享,所以他坚持在博客上分享技术观点并出版了关于 Azure、微软游戏栈的书籍;因为热爱挑战&#…