这几乎是因为这同样的问题一个,但在相反的方向.
我知道FloatStreamJava 8中没有,并且float []没有很多用例,但我有一个:
TriangleMesh在JavaFX 3D中处理时,必须提供ObservableFloatArray整个网格顶点的3D坐标.
作为一些计算的结果,我将在a中具有所有这些坐标List,并且将所有这些坐标一次性添加到网格中,我将triangleMesh.getPoints().addAll()使用以下方法之一调用:
其中ObservableFloatArray可使用被创建FXCollections.observableFloatArray(),FXCollections.observableFloatArray(ObservableFloatArray array)或FXCollections.observableFloatArray(float... values).
假设我为每个顶点都有这个pojo:
private class Vertex {
private final float x;
private final float y;
private final float z;
public Vertex(float x, float y, float z){
this.x=x; this.y=y; this.z=z;
}
public float[] getCoordenates(){
return new float[]{x,y,z};
}
}
Run Code Online (Sandbox Code Playgroud)
我做了一些计算后 …
我所在的团队正在构建一个使用 JavaFX 8 3D 操作视觉模型的应用程序。我们同时使用透视相机和平行相机。透视相机按预期工作。目前正在使用isEyeAtCameraZerofalse。这样做是为了最大限度地兼容并行相机。
调用camera.setNearClip()和时,透视相机会正确运行。camera.setFarClip()
并行相机似乎没有响应camera.setNearClip()和camera.setFarClip()。并行相机确实执行近距和远距剪切,但我无法更改并行相机剪切范围。
我正在使用基于 JavaFX 8 javadocs 页面上的伪代码的算法来计算传递到和 的Camera值。这似乎适用于透视相机,但不适用于平行相机。camera.setNearClip()camera.setFarClip()
任何人都可以提供有关如何管理并行相机的剪辑范围的建议吗?
我正试图在我的新RaspBerry pi上运行Esemble8.jar.我遵循了这个教程:http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/RaspberryPiFX/raspberryfx.html
我能够安装Java8,但是当我尝试运行Ensemble8.jar(或任何其他小型JavaFx应用程序)时,我遇到了这个错误:
Error: Could not find or load main class ensemble.EnsembleApp
Run Code Online (Sandbox Code Playgroud)
我的PATH是正确的; 你有什么建议来解决这个问题吗?
谢谢!
我是JavaFX和Java的新手.我想知道如何在立方体或任何多面体的表面上制作场景?我想在任何3D形状的表面上播放视频.我怎么能这样做?
我正在制作我的第一个JavaFX项目,我需要渲染一些3D文本.我已经放置了一个PerspectiveCamera,我显示了一个文本节点,但它的Z维度为0,我不知道如何更改它.
提前致谢!
我正在迁移到OpenJDK 11和OpenJFX 11.我已经从源代码成功构建了两个,并且根据OpenJFX wiki使用--with-import-modules = [path_to_modular_sdk] arg来构建JDK.一切顺利,直到我尝试在Apache Netbeans 9中构建一个简单的"Hello World"测试项目; 此时我收到以下错误:" 在活动JDK中找不到JavaFX部署库 ".试图搜索这方面的信息,但找不到任何相关的信息.如果有人能够阐明造成这种情况的原因,我将非常感激.谢谢你的帮助.帕特里克.
我正在努力处理JavaFX应用程序的混淆问题。以该项目为基础:
https://github.com/openjfx/samples/tree/master/IDE/IntelliJ/Non-Modular/Gradle
Proguard抛出此错误:
java.io.IOException: Can't write [Path\infile.jar] (Can't read [Path\outfile.jar] (Duplicate jar entry [a.class]))
Run Code Online (Sandbox Code Playgroud)
Proguard配置文件:-dontoptimize -dontshrink
-libraryjars 'E:\Prog\jdk-11.0.2\jmods'
-libraryjars 'E:\Prog\javafx-sdk\lib'
# Save meta-data for stack traces
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable
# Rename FXML files together with related views
-adaptresourcefilenames **.fxml,**.png,**.css
-adaptresourcefilecontents **.fxml
-adaptclassstrings
# Keep all annotations and meta-data
-keepattributes *Annotation*,Signature,EnclosingMethod
# Keep entry-point class
-keep classpackage.App {
public static void main(java.lang.String[]);
}
# Keep all classes inside application
-keep,allowobfuscation class package.** {
}
# Keep names of fields marked …Run Code Online (Sandbox Code Playgroud) 我想不用说,我应该能够将Oracle自己的JDK与JavaFX(来自gluonhq)一起使用,以构建用户可以使用的可分发jar文件。
经过详尽的搜索,大量阅读(过去几个月中24小时或更长时间),最后是这个Google搜索查询:
how to make a fat jar -maven -gradle -scala -eclipse -ant -docker -hadoop -netbeans -jerkar -phy -mozni -yogurt -pizza - throwing -python -bacon
Run Code Online (Sandbox Code Playgroud)
我绝对在路的尽头。到底为什么这么多工作?我该如何构建JavaFX应用程序并将其提供给想要实际使用它的人,而又不知道如何使用应用程序本身呢?
我正在尝试调整我的程序以在 Java 12 上运行。它目前在 Java 8 上运行并具有一些 JavaFX 组件(一些对话框)。它不是模块化的。我的 IDE 是 Eclipse,JavaFX jar 文件作为用户库包含在构建路径中。我想生成一个可运行的 jar 并将 javafx 文件捆绑在其中或将它们添加到自定义 JRE,以便我可以分发它,而不需要最终用户单独安装 Java12 或 JavaFX。
首先,我想尝试一个简单的HelloFX程序,修改后使其更类似于我的程序。
public class HelloFX2 {
public HelloFX2() {
startToolkit();
// have to wait a second for the JavaFX thread to actually start, or else the Platform.runLater throws an exception
try
{
Thread.sleep(1000);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
// create the scene and display
Platform.runLater(() -> {
Scene theScene = createTheScene();
final Stage stage = new …Run Code Online (Sandbox Code Playgroud) 在javafx中,如果我们有2D HUD(由Pane组成,然后我们为2D Hud创建SubScene对象)和3D SubScene,并且在3D场景中我们有一些带有坐标(x,y,z)的对象 - 我们如何获得2D如果该物体位于我们的透视相机的视野中,那么它在我们的 HUD 中的坐标是多少?
我尝试获取对象的第一个场景坐标,然后将其转换为 (sceneToScreen) 坐标,并且与窗格的点 (0,0) 相同,然后从第二点中减去第一个点,但我没有得到正确的结果。抱歉,我的英语不好。有人可以帮忙吗?