问题标签 [javafx-11]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JAVAFX 11 不支持 ECMAScript6 和 css3
我正在使用一些带有 JAVA FX 11 的绘图工具创建一个 Web 浏览 exp,但是在尝试加载具有let
和const
使用这些变量的 javascript 代码时,它们只是被忽略并抛出异常。我正在使用 maven 3.8.0、Java 1.8 和 JavaFX 11。
代码如下:
和 Java 代码
java - 为什么在更改组的比例后更改 JavaFX 组中一个形状的翻译属性会影响其他形状
我正在开发一个程序,在该程序中我正在学习如何在 JavaFX 中缩放和移动对象。对于我正在使用的程序Group
,Group
我有两个Rectangle
,我有一些Sliders
可以更改两者的属性Rectangle
。
发生的问题是,当我在程序中更改translateX
ortranslateY
时Rectangle
,保持父级的ScaleX
and不是 1,它也会更改另一个的位置,但是当比例为 1 时,不会发生此问题。ScaleY
Group
Rectangle
这是我的程序:
在我的程序中,我有两个Rectagle
被调用a
的 andb
我正在使用Slider
被调用的aTranslateX
&aTranslateY
和bTranslateX
&bTranslateY
来分别更改 Rectaglesa
和的 translateX 和 translateY b
。而且我正在使用另一个Slider
名为scale
更改scaleX
&scaleY
的 Group 名为group
包含a
and b
。同样,当我更改矩形的平移属性a
并b
保持比例(scaleX
& scaleY
)group
但当我更改它们的(矩形a
和b
)平移属性保持比例,而不是一个矩形的一个变化的平移属性也会改变另一个矩形在相反方向的变化位置。
当组的比例不是默认值时,如何解决此问题或更改任何对象的翻译属性的正确方法是什么?
javafx - 带有 VSCode 的 JavaFX-11
我必须在这里遗漏一些明显的东西......我正在尝试使用 VSCode(来自 Eclipse),但我无法让 VSCode 看到 JavaFX11 库。在 import 语句中,所有对 JavaFX 组件的引用都被标记:
在 Eclipse 中,这是通过“用户库”处理的,它在 .classpath 中生成一个条目
虽然 VSCode 似乎从 Eclipse 中理解了 .classpath 的其余部分,但它并不理解这一点。用磁盘上的实际位置替换路径属性也不起作用。
为了清楚起见:
- 这个问题专门针对 Java 11。在早期的 Java 版本中,JavaFX 是 JDK 的一部分。在 Java 11 中,它已移至一组外部模块。
- 我不想使用 Maven 或 Gradle。我需要直接引用模块而不使用构建工具。
另外,如果 VSCode 也可以直接执行 JavaFX 应用程序,那就太好了。但是,如果我必须使用显式模块和类路径从命令行启动应用程序,这是可以接受的
java - 当包含 Shape 的组的比例不是默认值时如何在 JavaFX 中绘制形状
我正在学习如何在 JavaFX 中拖动鼠标时创建形状,并且可以在拖动鼠标时创建形状,但是当我更改包含该形状的scaleX
andscaleY
时会出现问题。Group
问题是,当我尝试在比例不是 1 时创建形状时,当我在代码中编写根据鼠标位置设置它的平移值时,形状的位置会更改事件。我曾多次尝试解决此问题,但我无法弄清楚为什么会发生这种情况或如何解决此问题。
这是我的代码:
我正在使用代码来修改在拖动鼠标时Rectangle
调用的代码,object
但是当我拖动鼠标保持比例不是 1 时,它的位置正在移动。再次澄清,我试图在拖动鼠标时创建矩形。但它的位置不是鼠标所在的位置,即当组的比例不是1时位置会移动。
那么,当包含该形状的组的比例不是 1 时,绘制形状的正确方法是什么?
请建议我。
java - JavaFX 11:“缺少 JavaFX 运行时组件”
我正在尝试使用 Windows 10 下的 jGRASP 2 在 JavaFX 11 和 Java 11 下运行示例 JavaFX 代码(取自 Java Illuminated 的第 5 版)。
我已经广泛阅读了“JavaFX 入门”指南 ( https://openjfx.io/openjfx-docs/ ),虽然我取得了一些进展,但我还是被卡住了。
我已经下载了最新的 ZIP 文件,将其解压缩,并更新了 CLASSPATH 以包含编译所需的 jar 文件的路径。我可以成功编译该文件。但是,当我尝试运行时,我收到以下错误消息:
错误:缺少 JavaFX 运行时组件,需要运行此应用程序
“入门”指南说,可以通过在运行时调用中添加以下选项来解决此问题:
--module-path "[path]\lib" --add-modules=javafx.controls,javafx.fxml
我已经添加了选项,但我仍然收到错误消息。
以前的 StackOverflow 文章通常以上面的选项设置结束;唉,我不知道还能做什么。
java - 如何在 JavaFX11 中设置多个 ImageView 的样式以不违反 DRY
有没有办法设置多个 ImageView 和类似的样式?例如,我有这个代码:
我想更改所有图像的尺寸,有超过 10 张图像。我可以创建一个组并将所有视图添加到它,并以此为目标所有要操作的对象吗?JavaFX (11) 非常新。
java - JavaFX 11 国际语言支持——所有语言?
我正在尝试开发一个 JavaFX 11 应用程序,我需要在其中显示阿姆哈拉语/Geez/埃塞俄比亚 字母。我已经尝试了 StackOverflow 上的所有建议(比如这个),但是所有字符在 UI/舞台/场景上都显示为一堆空矩形。看起来 JavaFX 11 还不支持复杂的书写系统(根据Java 11 语言环境支持文档!)。有任何想法吗?
java - jdeps 在 fat jar 中使用 Java 11 和 JavaFX 失败
我正在尝试使用 jdeps(和 jlink)来部署使用 JavaFX 11 的 Java 11 应用程序。在我的 Java IDE 中运行良好。但是当我使用 jdep 时,我得到以下错误,这表明找不到某些模块或包。我被困住了。谢谢你的帮助。
jdeps --list-deps --module-path /Users/…/target:/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home/jmods:/Users/…/javafx-sdk-11.0。 2/lib --add-modules 链编码器、javafx.fxml、javafx.base、javafx.controls、javafx.graphics、javafx.web /Users/…/target/chaincoder4-1.0.jar
模块信息.java 是
模块链编码器{
}
pom.xml 是
java - 了解主类如何影响 JPMS
如果 Application 类不是Main 类,我有一个非常基本的 JavaFX 应用程序可以完美运行:
但是,当我将两者合并在一起时(这是大多数教程中推荐的方式,包括OpenJFX 的官方文档),模块系统会抛出一个IllegalAccessError
(至少在 OpenJDK 11.0.2 上):
例外是:
java.lang.IllegalAccessError:类
com.sun.javafx.fxml.FXMLLoaderHelper
(在未命名的模块中@0x642c1a1b
)无法访问类com.sun.javafx.util.Utils
(在模块中javafx.graphics
),因为模块javafx.graphics
不会导出com.sun.javafx.util
到未命名的模块@0x642c1a1b
奇怪的是,我没有主动使用模块系统。我没有添加module-info.java
到我的项目中。所以我假设一切都应该导出到任何未命名的模块?但这甚至不是重点。
主要问题是:为什么相同的代码分布在两个类中会有不同的行为?在这两种情况下都FXMLLoader
使用com.sun.javafx.fxml.FXMLLoaderHelper
,而后者又使用com.sun.javafx.util.Utils
。所以要么我应该在这两种情况下都得到例外,要么都不例外。有什么区别?
java - 如何在 JavaExec 任务类路径中包含插件依赖项?
我正在使用 JavaExec 任务来运行不同的类,但是每当我尝试使用 运行其中一个任务gradle <task>
时,我都会收到一条错误消息Error: JavaFX runtime components are missing, and are required to run this application
。
如果我只是设置mainClassName='exercise1.Cards'
或其他任何类名,运行gradle run
完全正常。我猜想在使用 JavaExec 运行类时找不到 JavaFX 类,我想知道如何包含它们。
构建.gradle: