看到JavaFX应用很多人都会说JavaFX应用太丑了,确实JavaFX比起Qt、MFC、Delphi这些界面确实丑了一点,但也不是没有可以美化的空间。
跟网页一样,单纯HTML不加任何CSS的时候也不是很美观,JavaFX如稍微美化一下还是可以接受的。
比如,没有任何css修饰前的JavaFX应用是这样的:
经过简单的修饰之后的JavaFX应用是这样的:
对比一下,很明显简单修饰美化过的界面要比原始的好看很多(个人觉得)。
如果需要将界面改造成上图的样式,那么就不能使用JavaFX自带Stage的样式,需要自己改造一下,需要解决以下问题:
取消默认的Stage样式
构造自己“最小化”,“关闭”面板
让程序可以拖动
处理“最小化”,“关闭”事件
构造自己的桌面程序
取消Stage样式
取消Stage的样式比较简单,这个在“JavaFX桌面应用-loading界面”那篇文件已经提过,就是设置Stage的Style为TRANSPARENT即可。
stage.initStyle(StageStyle.TRANSPARENT);
Style为TRANSPARENT之后,应用就没有了“最小化”、“最大化”、“关闭”面板了,如图:
这个时候,可以用 BorderPane
来重构桌面框架,将原来放在Scene的root组件放在BorderPane的CENTER位置,然后自己构造的“最小化