java 画笔跟swing组件_浅谈JavaFX与Swing component的混用

最近需要用Java编写一个视频播放器,通过网上找教程,发现利用JavaFX程序库最合适。再初步学习了JavaFX的教程后,确实能够很快速的搭建一个功能完善的视频播放器。但是问题来了,JavaFX自带有一套完整的交互组件,例如FXTextField, FXLabel等,类似于Swing里的同名组件。然而JavaFX运行的时候同样有自己独立的Thread,这让将JavaFX整合到现有Swing组件中,常常因为两个程序库的Threads不同,无法进行交互,从而无法将两者整合在一起。

尽管JavaFX与Swing在命名方式上非常类似,其Node以下的组件运用也很相似,但JavaFX的最顶层结构Stage/JFXPanel(在JavaFX中,其JFXPanel与Stage似乎属于相同等级,下文会提到JFXPanel的重要性和使用方法)与Swing的JFrame结构,有着巨大的差别。只有了解这些差别,才能够很好的将两个程序库融合使用。下图引用自2.0版本的官方教程,尽管最新的版本已经到12.0,JavaFX的总体结构依旧如此。最顶层的Stage可以被理解为类似JFrame的框架。与JFrame不同的地方在于,往JFrame里添加组件,用的是“添加”逻辑。即:

JFrame.add(JComponent)

而给Stage添加显示组件,用的是“设立”的逻辑,即:

Stage.setScene(Scene)

在JavaFX中,Scene类似于显示窗口。所不同的在于,一个Stage只能有一个Scene。而JFrame,可以添加多个JPanel,而一个JPanel自己,也能再往下套用更多的子JPanel。在JavaFX的Scene的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值