JavaFX极简⼊门(利⽤FXML⽂件)到精通
背景:
下⾯我来介绍⼀下,如何⽤JavaFX在两周⾥(实际为⼀周)来写出⼀个界⾯美观,且⼤⽓的GUI。
⾸先要介绍⼀下JavaFX是个什么东东:刚刚接触Java的同学⼀定会知道Java的图形界⾯库Swing,或者AWT,他们当然都⽐较⽼了,或者说过时了,他们都没有做到界⾯与代码分离(会有好多的坐标位置什么的),所以写起来会⿇烦,想要做的美观的话对于新⼿⼩⽩来讲真的是很难。我说的JavaFX还算⽐较新。若是会⽤的话还是⽐较得⼼应⼿的。
JavaFX也是Java的⼀个图形界⾯库,真的强烈给⼤家推荐使⽤JavaFX,推荐使⽤JavaFX,推荐使⽤JavaFX。。。嘿嘿,说三遍。为什么这么说呢,因为如果你掌握了使⽤FXML⽂件来设计界⾯,⽤Controller类来控制界⾯⾥⾯的所有的action的话,那么恭喜你你已经⼊门了,成功实现了界⾯与代码的分离,再加上SceneBuilder(下⾯会说他是个啥玩意er)的帮助,那么你会很得⼼应⼿的。
环境配置:
1.强烈推荐 Intellij IDEA,我⼀直⽤的就是IDEA,在课程设计过程中,在教使⽤Eclipse同学们使⽤FXML⽂件的过程中,遇到了⽆数的⿇烦,所以还请⼤家使⽤更加智能⼀点的IDEA吧。
2.SceneBuilder:SceneBuilder是⼀款⽤来设计界⾯的软件(很⼩的),可以通过拖拽控件来进⾏页⾯设计。
下载链接:    具体配置下⾯详解:
javaswing和javafx正常下载完成后,SceneBuilder会⾃动打开,不要管他,将所有的关于SceneBuilder的东西全部关闭。
打开Intellij --->点击File--->点击settings--->Languages&Frameworks--->JavaFX
在Path to SceneBuilder 中填⼊SceneBuilder的exe⽂件。
然后,环境就搭建好啦。
JavaFX⼊门:
⾸先,我们要建⽴⼀个新的项⽬,按这个医疗保险报销系统例⼦来讲的话就是MedicalInsuranceSyste
m,建⽴完Project后,开始我们的构建GUI界⾯之旅。
⾸先,先来热热⾝吧:
1.我们右击src那个⽂件夹,然后⿏标放在new上,在点击Java class,然后Name⾥输⼊MySceneController就创建了⼀个控制器类(⽤来控制下⾯我们即将⽤来构建界⾯的FXML⽂件中的⼀系列动作,即所谓的控制代码)。
2.再次右击src⽂件夹,⿏标放在new上,在点击FXML File,然后Name⾥输⼊MySceneController就创建了⼀个可以⽤来写界⾯的⽂件。(建⽴后你会发现你的那个⽂件中有⼀⾏,有这样的fx:controller="MySceneController"代码,然后“”中的内容被⼀个红框框框住了,没关系,只要你的Controller类(就是那个Java Class⽂件)和FXML⽂件的名称是⼀样的,就不⽤担⼼,也不⽤更改;但如果不⼀样的话就需要把“”中的内容改成新创⽴的Java Class⽂件⼀样的名称,推荐建⽴⼀样的⽂件名称,这样⽅便你去到对应的界⾯和代码)。
3.好,做完前两个步骤之后,我们开始界⾯的设计了。在左边的⽂件夹中到你新建⽴的FXML⽂件,右击,在最下⾯可以看到Open In SceneBuilder,点击后,这个⽂件就会在SceneBuilder中打开会出现下⾯的界⾯:
然后就可以进⾏界⾯的设计啦。下⾯我给出⼀个极其简单的例⼦:
4.在左边上⾯的的Library上输⼊Button,到button,点击,拖动到AnchorPane上:
双击那个按钮可以修改⽂本,我在这⾥改成ok
5.然后,我们看右边的三个菜单栏:有Properties(属性),Layout(布局),Code(代码)。
我们先点击我们之前拖动到AnchorPane上的那个button,再看右边就会有东西出现了,然后点击Code那⼀栏,看前⾯⼏⾏就好(下⾯的留给你⾃⼰探索吧)有fx:id(这个通俗讲就是这个button的名称,就是这个button的变量名),输⼊“okayButton”,还有On
Action(这个是点击button后触发的事件,后⾯输⼊的就是触发的具体⽅法名),在这个⾥⾯输⼊“okay”。
6.然后,我们把⽬光转向上⽅的菜单栏,
我们在这⾥⾯常⽤的就是Preview,它可以⽤来预览我们刚刚搭建好的窗⼝(点击Preview--->点击Show Preview In Window(或者直接按Ctrl+p)--->窗⼝就出现啦)。
还有⼀个就是View,这个对我们还是蛮重要的,因为有了它我们就可以不⽤⾃⼰在Controller类⾥⾯写代码⾻架了(真的⾮常⾮常省⼒呢),点击View--->点击最下⽅的Show Sample Controller Skeleton--->会出现下⾯的窗⼝
--->点击左下⽅的Copy--->回到intellij--->打开刚刚创建的MySceneBuilderController的那个Java class类--->全选--->把刚刚Copy的内容,粘贴进去(就像这样)
但是报错了,没关系,这只是因为没有导⼊相应的包,我们把⿏标点击ActionEvent,然后按下快捷键Alt+Enter,就会出现导⼊包,注意⼀定要选javafx的那个包,不要选AWT的,导⼊后应该是这样的:
可以看到,我们刚刚输⼊的“okayButton”,还有点击事件“okay”⽅法都在⾥⾯了,我们可以在okay⽅法⾥加些东西
意思就是我们在点击按钮时,会在控制台打印出“Okay”,我们来试试看。
7.但是等⼀下,你会发现没办法运⾏啊,嘿嘿,还有⼀步
我们在在src下创建⼀个Main类
这时才可以运⾏,接下来让我们试⼀试吧。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。