教 程 目 录
JavaFX是一个用于构建富Internet应用程序的Java库.使用此库编写的应用程序可以跨多个平台一致地运行.使用JavaFX开发的应用程序可以运行在各种设备上,例如台式计算机,移动电话,电视,平板电脑等.
使用Java编程开发 GUI应用程序语言,程序员依赖于诸如高级窗口工具包和 Swing 之类的库.在JavaFX出现之后,这些Java程序员现在可以使用丰富的内容有效地开发GUI应用程序.
在本教程中,我们将讨论可用于开发有效的JavaFX的所有必要元素富Internet应用程序.
受众
本教程是为想要使用JavaFX开发富Internet应用程序的初学者准备的.
先决条件
对于本教程,假设读者具有Java编程语言的先验知识.
本文地址:https://www.itbaoku.cn/tutorial/javafx-index.html
相关问答
我计划开始开发桌面应用程序,但直到现在,对我来说,桌面= swing.我对此做了一些研究,发现自己在一些问题下: 我发现有很多Javafx版本: 有Javafx 1.0,人们说已经旧且过时了; 有很好的Javafx 2.x; 现在的javafx 8(这是正确的吗?); 但是,即使使用JDK 8(1.8.0)的最新NetBeans IDE版本(8.0),当我创建Javafx应用程序时,它也开始使用Javafx 2.2 - 是Javafx 8因为他们将JAVAFX 2.X与JDK 8? 使用 关于版本的另一个问题,Javafx版本X中开发的应用程序是否与更高版本兼容?就像秋千应用程序一样,如果您在Java 5中开发了一个应用程序,即使在Java 8中也可以使用. 关于开发模式,更具体地说是关于布局创建的,我注意到有两种创建布局的方法:仅在Java中编码它,以及用Java类创建XML文件(FXML)作为控制器(更多MVC方法)就像JSF应用程序一样.我应该选择哪一个?每个人的利弊是什么? 解决方案 欢迎来到Javafx 的世界 我不确定为什么您要面对JDK 1.8的Javafx 2.2问题,因为JDK 8中有Javafx 8,默认情况下必须使用. 只是为了快速介绍Javafx及其与秋千的不同.请遵循以下几点: 而不是遵循在Jav
)
我已经开始使用javafx创建一个用于用户交互的窗口,用于在另一个非Javafx,程序中使用. 我的主要程序称为Abc类,具有主要方法.这是一个非Javafx程序,但是普通的香草爪哇.该程序运行一些活动,然后要求用户从可能的Strings列表中选择String.此用户交互是使用称为MenuSelector的Javafx程序完成的.用户选择一个String,然后将其返回到Abc以进行进一步处理. MenuSelector是使用NetBeans和Scene Builder制成的,它使用三个文件:FXMLDocument.fxml,FXMLDocumentController.java和MenuSelector.java.选择过程的处理是在FXMLDocumentController.java中完成的. MenuSelector.java类仅定义Stage和Scene. 我找不到在线的是Abc如何启动MenuSelector的说明.也找不到指令,如何将结果String在FXMLDocumentController中的结果传递回Abc.我应该采取什么步骤来实现此操作? 编辑: 我被问到这样的原因.有人建议我有一个设计问题. 我当前对MenuSelector的实现是使用javax.swing.这是在一个称为MenuSelector的Java类中手工编码的,
)
希望完成这项作业.我有一个节目将显示多达5个"扇形",这将带有粉丝的旋转.您可以使用滑块来控制风扇的速度,并使用按钮停止,播放和扭转风扇的方向. 我遇到了弄清楚如何使我的滑块(" Slider2"是我想从类Fanpane中使用的)如何更新粉丝显示的叶片数量.我希望能够在1个刀片到10个叶片上都有任何地方. 另外,我在使粉丝正确排队的情况下遇到了问题.我之前的正确,现在我添加了这些新滑块,我的叶片在圆圈内无法正确排列. 这是我的代码: import javafx.animation.KeyFrame; import javafx.animation.Timeline; import javafx.application.Application; import javafx.geometry.Pos; import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.Node; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; import
)
我只是今天才开始学习javafx,我试图通过制作蛇克隆来了解有关它的更多信息,但是我在螺纹方面遇到了麻烦.我想创建一个线程,以更新蛇在屏幕上的位置,但不能以正常可运行的线程方式使用一个线程,因为我从该线程中使用Javafx来更新绘制到屏幕的矩形位置(我学到了这一点)您不能这样做,必须使用任务,服务,平台,runlater等?)我正在从Extends javafx.scene.layout.pane创建线程的班级,我正在尝试使用任务来更新蛇位置.我的问题是:该任务似乎只运行一次或两次,而没有给任何中断. 延伸窗格的类的构造函数(蛇类延伸组): public GameFrame(){ this.setPrefSize(800, 600); Snake snake = new Snake(); this.getChildren().add(snake); taskThread = new Thread(new Task() { protected Void call() throws Exception { while(!Thread.currentThread().isInterrupted()){ snake.updatePositio
)
是否可以在无头模式下运行Javafx(在Java 7中)?它用于在服务器上生成图像,但要求X服务器.是否存在java.awt.headless中的javafx中的东西?(我不能使用xvfb) 解决方案 这是我如何解决使用Jetty Application Server上Ubuntu Linux环境上的服务器端图像基因的问题.它使用XVFB,但仅作为"库" - 在服务器上没有任何其他特殊操作: apt-get install xvfb // then on application server start: export DISPLAY=":99" start-stop-daemon --start --background --user jetty --exec "/usr/bin/sudo" -- -u jetty /usr/bin/Xvfb :99 -screen 0 1024x768x24 您可以在其他解决方案 这是我在Mac OS中捕获图像时遇到的一种问题. 我已经使用 解决了这个问题 static { System.setProperty("java.awt.headless", "false"); } 请参阅参考:无头环境错误在Java.awt.robot类中,带有Mac OS 其他解决方案 Shreya
)
我有一个应用程序,其中我绘制一个矩形,然后将其转动90度.在这种情况下,我有一个可以移动矩形的框架.但是在我转动它(一个90度的示例)之后,当区域向上移动时,矩形本身向右移动.旋转时,形状本身的坐标代理是什么? 旋转代码: this.rotation.addListener((obs, old, fresh) -> { Rotate rotate = new Rotate((double) fresh - (double) old, x.getValue().doubleValue() + (width.getValue().doubleValue() / 2), y.getValue().doubleValue() + (height.getValue().doubleValue() / 2)); shape.getTransforms().add(rotate); rotate.angleProperty().bind(this.rotation); }); 当您旋转矩形时,其坐标轴随之旋转. 如何制作它,以便当您在初始位置更新坐标轴时? 解决方案 我并不真正理解您的问题,但是以下是演示旋转和移动矩形的示例.双击矩形将其旋转. (如果单击太快,双击并不完美.).拖动矩形以移动它. impor
)