精华内容
下载资源
问答
  • JavaFX教程

    万次阅读 2021-03-01 17:09:11
    Java FX教程Java FX使用教程1. 为什么选择JavaFX?2. JavaFX功能2.1 第三方JavaFX资源3. JavaFX应用4. 为什么要使用桌面应用程序?5. JavaFX用例6. 移动设备上的JavaFX7. Raspberry Pi上的JavaFX8. Java 11的JavaFX9...
    • 本JavaFX中文教程翻译原文来源于JavaFX 文本教程
    • 文中内容若翻译有误或有侵权问题,请及时与我联系!
    • 翻译此文的目的是为以后学习更加方便查看。
    • 文章持续更新中…

    JavaFX使用教程

    JavaFX是Java的GUI工具箱(GUI是图形用户界面的缩写)。JavaFX使使用Java创建桌面应用程序和游戏变得更加容易。

    为什么选择JavaFX?

    JavaFX是出色的GUI应用程序平台的原因有很多。首先,Java仍然是世界上最受欢迎的编程语言之一,拥有大量的标准类和由Java开发人员社区开发的丰富的开源工具包。

    • 其次,JavaFX可以在以下所有操作系统和设备上运:
      • Windows
      • Linux
      • Mac
      • iOS
      • Android / Chromebook
      • Raspberry Pi
    • 这使得JavaFX成为通用的跨操作系统和跨设备应用程序工具包。
    • 第三,JavaFX附带了丰富的GUI控件,开放源代码工具箱为整个生态系统添加了更多工具。

    JavaFX功能

    JavaFX带有大量的内置GUI组件,例如按钮,文本字段,表格,树,菜单,图表等。JavaFX可以通过CSS或以编程方式设置样式。JavaFX附带了一个内置图表库,您可以将其用于简单图表。JavaFX支持2D和3D图形。JavaFX具有可显示现代Web应用程序的WebView。

    这是JavaFX中概念,组件和功能的完整列表:

    • Core
      • Stage
      • Scene
      • Node
      • Properties
      • FXML
    • Layout
      • Region
      • Pane
      • HBox
      • VBox
      • FlowPane
      • TilePane
      • GridPane
      • Group
      • StackPane
      • AnchorPane
      • BorderPane
    • Basic Controls
      • Label
      • Button
      • MenuButton
      • SplitMenuButton
      • ButtonBar
      • ToggleButton
      • RadioButton
      • CheckBox
      • ChoiceBox
      • ComboBox
      • ListView
      • TextField
      • PasswordField
      • TextArea
      • ImageView
      • DatePicker
      • ColorPicker
      • Slider
      • Tooltip
      • Hyperlink
      • ProgressBar
      • ProgressIndicator
      • MenuBar
      • ContextMenu
      • Separator
      • TableView
      • TreeView
      • TreeTableView
      • HTMLEditor
      • Pagination
      • FileChooser
      • DirectoryChooser
      • Spinner
    • Container Controls
      • Accordion
      • TitledPane
      • TabPane
      • SplitPane
      • ScrollPane
    • Web
      • WebView
      • WebEngine
    • Charts
      • PieChart
      • BarChart
      • StackedBarChart
      • ScatterChart
      • LineChart
      • AreaChart
      • StackedAreaChart
      • BubbleChart
    • Other Concepts
      • Fonts
      • TextFormatter
      • Dialogs
      • Color
      • 2D Shapes
      • 3D Shapes
      • Effects
      • Transformations
      • Animation
      • Canvas
      • PixelBuffer
      • Drag and Drop
      • Audio
      • Video
      • Print API
      • High DPI resolution screen support
      • Concurrency in JavaFX

    第三方JavaFX资源

    下列有一些很不错的第三方资源,主要列出了其中一些:

    • JavaFX Drift - JavaFX的OpenGL等支持。无缝集成到场景图中。
    • ControlsFX -JavaFX的额外UI控件。
    • GemsFX -JavaFX的额外UI控件。
    • TilesFX -JavaFX的额外UI控件。

    与JavaFX相关的资源:

    • Skija-Java的快速2D图形-使用硬件加速的图形。

    JavaFX应用

    以下是一些使用JavaFX制作的公开可用的应用程序,因此您可以亲自了解JavaFX的功能:

    • DBFX-一个免费的数据库管理GUI应用程序(管理控制台)。

    为什么要使用桌面应用程序?

    为什么移动设备首选本机/本地应用程序,而台式计算机则首选web应用程序?为什么两种类型的设备都不首选本机/本地应用程序?

    本机/本地应用程序往往比web应用程序提供更好的用户体验,因为它们具有更高的响应速度(更快、更敏捷)、更高级的GUI控件以及更好地与本地设备集成。传统桌面应用最大的两个问题是互联网带宽低和安装过程繁琐。随着高速互联网连接的普及,私人设备的应用商店和企业机器的按需安装系统,这两个问题基本上都得到了解决。

    我认为本地/本地应用程序应该是经常使用的所有应用程序的首选,或者工作流程有些复杂的应用程序。对于需要访问其运行的计算机的本地磁盘或需要与许多不同的远程系统进行通信并且有时使用除HTTP之外的其他协议(例如IAP或流协议等)的应用程序,本机/本地应用程序也应该是首选)。有关更多应用程序示例,请参见JavaFX用例

    用户很少使用的应用程序,或者用户没有真正动机去下载和安装的应用程序可能应该保留为Web应用程序。例如,登录并管理您的保险合同的应用程序可能会很好地实现为网络应用程序。但是,您的用户每天使用几次的项目管理工具可能最好成为桌面应用程序。

    JavaFX用例

    我曾被问过好几次桌面应用程序是否都过时了-是否真的还有JavaFX之类的用例。的确,许多应用程序非常适合Web应用程序,因为您很少访问它们,并且所访问的资源始终存储在服务器上。但是,还有几种类型的应用程序可以更好地实现为桌面应用程序。

    如引言中所述,我们在Nanosai上实际上是在使用JavaFX开发桌面应用程序。我们这样做是因为该应用程序需要访问本地磁盘,需要能够通过除HTTP之外的其他网络协议进行通信,并且需要标准Web浏览器根本无法提供的其他功能。

    这是我在JavaFX上看到的一些一般用例的列表:

    • Developer tools
      • IDE
      • Editors
      • File compression / encryption tools
      • Tools scanning the local disk
    • Local system maintenance tools
      • Backup tools
      • Virus scans
    • Utility apps
      • Skype / Messenger / Chat
      • Screen shot tools
      • Photo and video editing
      • Video players
      • Audio editing
      • Audio players
    • Games
    • Data Science Tools

    以下是我经常使用的一些桌面应用程序:

    • IntelliJ IDEA
    • Notepad++
    • SourceTree
    • SnagIt
    • Putty
    • WinSCP
    • Skype
    • Signal
    • Telegram
    • PhotoShop
    • Premiere Pro
    • VideoLAN (VLC)
    • EDraw

    此外,一些开始使用Web应用程序的公司后来又添加了本机/本地桌面应用程序。其中一些是:

    • YouTube Music
    • Spotify
    • Microsoft Teams
    • Slack
    • Google Drive

    移动设备上的JavaFX

    Gluon提供了一组工具来帮助您将JavaFX应用程序构建和打包为移动设备(Android和iOS)的本机映像。

    Raspberry Pi上的JavaFX

    也可以在Raspberry Pi计算机上运行JavaFX。您可以在《 Raspberry Pi上的Java入门》一书中阅读有关如何在Raspberry Pi上运行JavaFX的更多信息。

    Java 11的JavaFX

    从Java 11开始,JavaFX已再次从Java SDK中删除。JavaFX已被分离到其自己的开源项目中。这意味着要从Java 11 / JavaFX 11下载JavaFX,您必须转到:

    http://openjfx.io

    但是,JavaFX任然不断发展,在其用户中仍然非常流行。

    JavaFX游戏引擎

    Almas Baim制作了FXGL JavaFX游戏引擎。您可以在以下位置找到它:

    https://github.com/AlmasB/FXGL

    JavaFX与Swing

    您可能知道Java也有另一个GUI工具箱,称为Java Swing(或JFC)。如果您想知道这两个工具包之间的区别是什么,我在下面列出了一些主要区别:

    特征 JavaFX Swing
    属性绑定 JavaFX属性支持绑定,这意味着您可以侦听其值的更改 Swing属性不直接支持绑定
    声明式布局 JavaFX支持通过FXML进行声明式布局 Swing没有对声明式布局的内置支持
    造型风格 JavaFX支持基于CSS和基于代码的样式 Swing仅支持基于代码的样式
    WebView JavaFX具有可呈现现代网页的WebView Swing没有WebView
    Graphics JavaFX使用基于矢量的图形 Swing使用基于像素的图形
    3D图形 JavaFX具有对3D图形的内置支持 Swing需要Java 3D API用于3D图形
    并发API JavaFX具有内置的并发API Swing没有内置的并发API
    工具包 JavaFX是较新的 Swing比较老
    包含在Java SDK中 Java 11和更高版本不包含JavaFX Swing仍然包括在内,但有一天可能会被删除

    Github上的JavaFX示例

    为了方便起见,我已经开始将本教程中的许多JavaFX示例添加到公共GitHub存储库中。这些示例是随时可以运行的独立示例,每个示例都有其自己的class + main()方法来运行该特定示例。这是GitHub存储库:

    GitHub上的JavaFX示例

    JavaFX书籍

    以下是我读过的有关JavaFX的最有用的书:

    JavaFX JavaDoc

    您可以在此处找到JavaFX 11 JavaDoc:
    https://openjfx.io/javadoc/11/

    下一页:JavaFX概述

    展开全文
  • javafx 教程

    2009-03-18 23:45:49
    http://www.java3z.com/cwbwebhome/article/article2/2884.html?id=1535
    展开全文
  • JavaFX教程资源

    2020-11-26 17:47:28
    JavaFX教程资源 http://www.javafxchina.net/main/ https://www.yiibai.com/javafx https://code.makery.ch/zh-cn/library/javafx-tutorial/ ...
    展开全文
  • 转载自 易百教程——JavaFX教程 JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序。JavaFX...

    转载自  易百教程——JavaFX教程

    JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。

    JavaFX允许开发人员快速构建丰富的跨平台应用程序。JavaFX通过硬件加速图形支持现代GPU。

    JavaFX允许开发人员在单个编程接口中组合图形,动画和UI控件。

    图表编程语言可用于开发互联网应用程序(RIA)。JavaFX技术主要应用于创建Rich Internet applications(RIAs)。当前的JavaFX包括JavaFX脚本和JavaFX Mobile(一种运营于行动装置的操作系统),今后JavaFX将包括更多的产品。JavaFX Script编程语言(以下称为JavaFX)是一种声明性的、静态类型脚本语言。

    JavaFX技术有着良好的前景,包括可以直接调用Java API的能力。因为 JavaFX Script是静态类型,它同样具有结构化代码、重用性和封装性,如包、类、继承和单独编译和发布单元,这些特性使得使用JavaFX技术创建和管理大型程序变为可能。

    可用性

    JavaFX APIJava SE运行时环境(JRE)和Java开发工具包(JDK)捆绑在一起。
    JDK可用于所有主要的桌面平台,WindowsMac OS XLinux。 JavaFX应用程序可以在所有主要的桌面平台上编译和运行。

    JDK for ARM平台包括JavaFX的基础,图形和控件组件。

    主要特征

    JavaFX中包含以下功能 -

    • JavaFX是用Java编写的,JavaFX应用程序代码可以从任何Java库引用API。
    • JavaFX应用程序的外观和感觉可以定制。因此可以使用级联样式表(CSS)来对JavaFX应用程序进行风格化。平面设计师可以通过CSS自定义外观和样式。
    • 还可以在FXML脚本语言中描述UI的表示方面,并使用Java对应用程序逻辑进行编码。
    • 通过使用JavaFX Scene Builder,可以通过拖放来设计UI。 Scene Builder将创建可以移植到集成开发环境(IDE)的FXML标记,以便开发人员可以添加业务逻辑。
    • JavaFX有一个称为WebView的控件,可以呈现复杂的网页。WebView支持JavaScript,我们可以从Java API在Web页面中调用Javascript。 WebView还支持额外的HTML5功能,包括Web套接字,Web Workers和Web字体,还可以从WebView打印网页
    • Swing互操作性。 现有的Swing应用程序可以使用JavaFX类,例如图表和WebView。还可以使用SwingNode类将Swing内容嵌入到我们应用程序中。

    • 3D图形功能。JavaFX支持Shape,如Box,Cylinder,MeshView和Sphere子类,SubScene,Material,PickResult,AmbientLight和PointLight。

    • Canvas API。 使用Canvas API,可以在JavaFX场景上绘制。

    • 打印API。 javafx.print包提供了JavaFX Printing API的类。
    • 富文本支持。JavaFX支持增强的文本,包括双向文本和复杂的文本脚本,例如泰语和印度教的控件,以及多行,多种风格的文本。
    • 多点触控支持,JavaFX提供对多点触摸操作的支持。
    • JavaFX支持Hi-DPI显示。

    UI控件

    以下列出了JavaFX API中提供的一些内置JavaFX UI控件。

    • Label
    • Button
    • Radio Button
    • Toggle Button
    • Checkbox
    • Choice Box
    • Text Field
    • Password Field
    • Scroll Bar
    • Scroll Pane
    • List View
    • Table View
    • Tree View
    • Tree Table View
    • Combo Box
    • Separator
    • Slider
    • Progress Bar
    • Progress Indicator
    • Hyperlink
    • Tooltip
    • HTML Editor
    • Titled Pane
    • Accordion
    • Menu
    • Color Picker
    • Date Picker
    • Pagination Control
    • File Chooser

    JavaFX允许UI控制节点和形状节点在场景图上共存。
    我们可以像任何其他JavaFX节点一样处理任何UI控件,例如可以缩放,旋转,样式和添加效果。

    展开全文
  • javafx 教程 我刚刚完成了对使用Swing的应用程序组件的重写,现在使用的是JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件。 这是一个很大的应用程序,重写花了我一段时间,最后一切正常,我很高兴自己...
  • javafx 教程 像我这样的JavaFX爱好者反复面对的一个问题是何时(或为什么)使用JavaFX而不是HTML的问题(5)。 这是我的两分钱: 如果…,则应使用JavaFX。 …您对坚固性/质量感兴趣。 JavaFX是Java! 您将能够使用...
  • javafx 教程 我很快将不得不在基于Swing的胖客户端中处理JavaFX –哦,很抱歉,我的意思是“多层富客户端”! 因此,这使我来看看JFXPanel 。 JFXPanel是一个javax.swing.JComponent,用于将JavaFX内容嵌入到Swing-...
  • javafx 教程 验证是核心javafx框架所缺少的一件事。 为了填补这一空白, controlsfx中已经存在一个第三方验证库。 但是,我有一个问题:它不是在考虑FXML的情况下创建的。 这并不是说它不是一个很好的库,只是错过了...
  • javafx 教程 我有一段时间没有写博客了,我想与其他人分享有关JavaFX的所有信息(我的日常工作和家庭可能是借口)。 对于那些是本博客的新手,我是JavaFX 2 Introduction by Example(JIBE)的作者, Java 7 Recipes的...
  • javafx基础教程 JavaFX似乎正在RIA领域获得发展。 有了正确的工具和开发支持,它肯定会成为下一个最佳技术“物”的代价。 我没有在这里写任何JavaFX评论,因为有很多技术评论可能对它进行了广泛的评论,但是,我将...
  • javafx 教程 随着JavaFX嵌入式版本的问世,我们的框架对于游戏开发变得越来越有趣,因为我们现在可以瞄准平板电脑和智能手机等小型消费类设备。 因此,我决定对JavaFX进行更多的游戏编写实验。 这次,我想使用Canvas...
  • javafx 教程 即使在整个NSA监视的这段时间,在实现JavaFX控件时也要牢记可观察性,这仍然是一个好主意。 与Swing相比,这在JavaFX中很容易实现。 旧时光 来自Swing,我习惯于花费大量精力和时间来使自定义控件变得可...
  • javafx 教程 我最近注意到,我致力于ControlsFX项目的PopOver控件无法正确剪切其内容。 当我为FlexCalendarFX框架开发手风琴弹出窗口时,这一点变得显而易见。 每当最后一个标题窗格扩展时,其底角不再是圆角而是...
  • javafx 教程 如果您正在开发JavaFX的UI框架,请养成一种习惯,始终将自定义控件拆分为控件类和外观类。 来自Swing自己,这对我来说并不明显。 Swing还使用MVC概念并将实际的组件呈现委托给UI委托,但是扩展Swing的...
  • javafx 教程 因此, Java 9可能会破坏您的代码…… 如果您的项目使用JavaFX,则这尤其可能,因为许多自定义和自制控件都需要使用内部API。 借助Project Jigsaw,这些内容将无法在Java 9中访问。幸运的是, Oracle在...
  • javafx 教程JavaFX编写自定义控件是一个简单直接的过程。 需要一个控件类来控制控件的状态(因此命名)。 外观需要控件的外观。 而且通常不是用于自定义外观CSS文件。 控件的常用方法是将其使用的节点隐藏在其外观...
  • javafx 教程 你好,我们又见面了! 这次,是一个新版本,该版本与JavaFX 11兼容。 继续阅读以获取详细信息。 JMetro 8.5.7和11.5.7版本 JMetro代码已分为2个分支。 master分支具有Java 8兼容的JMetro版本,“ 11”...
  • javafx 教程 我刚刚完成了对使用Swing的应用程序组件的重写,现在使用的是JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件。 这是一个很大的应用程序,重写花了我一段时间,最后一切正常,我很高兴自己...
  • javafx 教程 JMetro的Java,JavaFX主题版本刚刚提高到4.2版。 此版本为Slider控件带来了新样式。 除此之外,您现在还可以看到一个弹出窗口,向您显示滑块的当前值。 新滑块样式 以下是旧的JMetro Slider样式: ...
  • javafx 教程 为用户界面元素选择正确的颜色始终是一个巨大的挑战,但是当您开发可重用的框架控件时,开发人员就无法控制使用它们的应用程序的外观和感觉,这甚至更具挑战性。 尽管您可能总是将元素添加到默认的灰色...
  • javafx 教程 在过去的几个月中,我很高兴使用JavaFX 8,以便为计划和调度应用程序实现复杂的用户界面。 所需的功能之一是执行“就地”编辑的方法,即快速编辑用户选择对象的某些基本属性的方法。 遵循“如果您无法...
  • javafx 教程 按照承诺,刚刚发布的Java JavaFX主题JMetro 4.6版为进度栏带来了新样式。 进度栏有两种可能的状态:确定和不确定,新的JMetro版本具有这两种状态。 在本文中,我还将详细介绍我在JMetro中遵守的一些...
  • javafx 教程介绍 视差是一种视觉效果,您可以将以不同速度移动的两个分层图像组合在一起以获得深度感。 想想当您在道路上行驶时,您会看到附近的树木在快速移动,而距离较远的树木将沿同一方向移动但速度较慢,结果...
  • javafx 教程动机 自2013年以来,我一直在编写JavaFX应用程序和库的代码,它们的共同点是,我需要找到可以用于它们的良好图标/图形。 作为前Swing开发人员,我首先使用图像文件,GIF或PNG。 通常,我会从...
  • javafx 教程 另一个简短提示:Swing提供了一个名为CardLayout的布局管理器,该管理器管理容器内的一组组件(卡),但始终仅显示其中一个。 方法CardLayout.show(Container ,String)允许在组件/卡之间切换。 在JavaFX...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 618
精华内容 247
关键字:

javafx教程

java 订阅