Questions tagged «javafx»

JavaFX平台使开发人员能够创建和部署在多个平台上表现一致的图形用户界面(GUI)应用程序。JavaFX 1.3和更早的版本是脚本语言,而JavaFX 2.x + / 8.x使用户可以使用Java。FXML使JavaFX能够遵循MVC架构。


4
IntelliJ无法使用OpenJDK 11识别JavaFX 11
我无法让IntellJ识别JavaFX软件包。对于新的JavaFX项目和OpenJDK 11,在尝试构建项目时,IntelliJ无法识别JavaFX软件包。 我已经openjfx:javafx-base-11从Maven仓库导入了。 我看过其他问题,解决方案似乎范围从检查字节码是否处于正确级别(我的是),以及项目语言是否正确(我的是)。 谁有想法? 编辑: 错误:

9
无法在IntelliJ Idea IDE中解析符号javafx.application
我试图在IntelliJ Idea IDE中创建JavaFX应用程序,但出现编译错误,提示: java:软件包javafx.application不存在。 我已经将Project SDK和Project Language Level更改为Java 8,重新加载了项目,但没有帮助。然后,我检查了设置中是否启用了JavaFX插件。 在Google和StackOverflow上进行的搜索并没有给我更多有关出问题的想法。预先感谢您的任何帮助。 PS我在Archlinux OS上将IntelliJ Idea 14.0与java8.1.0_25一起使用。

12
如何在关闭窗口时关闭JavaFX应用程序?
在Swing中,您可以简单地用于setDefaultCloseOperation()在关闭窗口时关闭整个应用程序。 但是,在JavaFX中找不到等效项。我有多个打开的窗口,如果一个窗口关闭,我想关闭整个应用程序。用JavaFX做到这一点的方法是什么? 编辑: 我了解可以覆盖setOnCloseRequest()以在窗口关闭时执行一些操作。问题是应该执行什么操作才能终止整个应用程序? stage.setOnCloseRequest(new EventHandler<WindowEvent>() { @Override public void handle(WindowEvent event) { stop(); } }); 类中stop()定义的方法Application不执行任何操作。

1
为什么javafx会扭曲半透明游标?
以下是两个PNG图片: 在视觉上它们是完全相同的-唯一的不同是一个像素的某些像素具有半透明的背景(您可以下载图像进行检查)。 但是,当我将这些图像用作JavaFX节点上的图像光标时,得到以下结果: 第一个光标(没有部分透明的像素)仍然清晰,但是第二个光标变形了。 解决了一段时间后,我发现了解决这种差异的算法-混合模式: “预期”方式(例如,您可以在此浏览器中看到)是获取每个通道的值之和,并以alpha值加权:(1 - alpha) * background_color + alpha * foreground_color。 “ JavaFX Cursor”给出了不同的公式:((1 - alpha) * background_color + alpha^2 * foreground_color请注意方框)。 我发现了这种失真,但是我无法弄清楚自己做错了什么以及如何解决此问题。 这是我的测试程序的完整可运行源代码: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.scene.ImageCursor; import javafx.scene.image.Image; public class HelloWorld extends Application { public static void …
75 java  javafx 

4
JavaFX-它真的可以部署在浏览器中吗?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 3年前关闭。 改善这个问题 去年,我对JavaFX进行了一些研究,甚至使用它构建了一些基本的桌面应用程序。 它被描述为用于创建RIA(Rich Internet Application)。 http://en.wikipedia.org/wiki/Javafx 但是它真的可以通过Web浏览器进行部署吗?我只通过可执行的JAR文件部署了它。 通过网络浏览器部署有多容易?它行得通吗?有任何人对此有经验吗? http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm
72 browser  javafx  ria 

2
我所有的JavaFX TextField中都有行
因此,尽我所能来使用JavaFX,到目前为止一切进展顺利。 但是,所有文本字段都在其上横贯一行,距顶部10像素左右。 不仅在我的应用程序中,在SceneBuilder应用程序中也是如此。 注意,我没有使用任何显式的CSS,也不知道SceneBuilder使用了什么。屏幕快照来自SceneBuilder,我的屏幕看起来相同。 因此,这是基础。 java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode) 在Mac OS 10.9.5上 只是好奇是否有其他人看到了这个并提出了建议。 编辑:我下载了样本,这显然与Modena主题有关。里海主题看起来很好。下面是Modena.jar TextFields部分的屏幕截图。有趣的是TextArea,尽管普遍存在的问题还不如TextField。 更多附录: 人们一直为此而大叫,所以就在这里。我基本上遵循以下步骤:https : //docs.oracle.com/javafx/2/get_started/form.htm并使用默认的Netbeans 8.0.2 JavaFX Application项目。只需从网站上剪切并粘贴即可。 public class Fxlinetest extends Application { @Override public void start(Stage primaryStage) { …
72 java  javafx  textbox 

5
JavaFX定期后台任务
我尝试定期在JavaFX应用程序后台线程中运行,这会修改一些GUI属性。 我想我知道如何使用Task和Service类,javafx.concurrent并且无法弄清楚如何在不使用Thread#sleep()方法的情况下运行此类定期任务。这将是很好,如果我可以使用一些Executor从Executors编造的方法(Executors.newSingleThreadScheduledExecutor()) 我尝试Runnable每5秒运行一次,这会重新启动,javafx.concurrent.Service但立即挂起,service.restart甚至service.getState()被调用。 所以最后我使用Executors.newSingleThreadScheduledExecutor(),它Runnable每5秒触发一次,Runnable并Runnable使用以下命令运行另一个: Platform.runLater(new Runnable() { //here i can modify GUI properties } 看起来很讨厌:(是否有更好的方法使用Task或Service类来执行此操作?
68 javafx 

1
Jasper报告组件​​无法在JavaFX Swing节点中正确呈现
为了在JavaFX 11中创建Jasper报告,我使用了动态报告。我正在将报告加载到Swing Node中,但是只有当我单击堆栈窗格区域时,才会显示Jasper报告,并且只有将鼠标悬停在所有这些组件上时,所有其他组件才可见。组件和报告内容不会立即加载,而不是在鼠标悬停时显示,并且在“堆栈窗格”上滚动时显示报告。 因为这是Java 8中的错误,似乎已经解决,但是在Java 11中,我也遇到了同样的问题。 更新资料 由于我没有得到任何回应,并且按照kleopatra的建议,我创建了最少的可复制代码。请调查一下。 JavaFxJasperReportsDemo.java package demo; import java.util.ArrayList; import java.util.List; import javax.swing.SwingUtilities; import javafx.application.Application; import javafx.application.Platform; import javafx.embed.swing.SwingNode; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.stage.WindowEvent; import net.sf.dynamicreports.jasper.builder.JasperReportBuilder; import net.sf.dynamicreports.report.builder.DynamicReports; import net.sf.dynamicreports.report.builder.column.Columns; import …

2
WebView何时准备好使用snapshot()?
JavaFX的文档状态,一个WebView当准备Worker.State.SUCCEEDED达到但是,除非你稍等片刻(即Animation,Transition,PauseTransition等等),一个空白页面的呈现方式。 这表明在WebView内部发生了一个事件,准备将其捕获,但这是什么? GitHub上SwingFXUtils.fromFXImage有7,000多个使用的代码片段,但其中大多数似乎与无关WebView,是交互式的(人为掩盖种族条件)或使用任意的Transitions(从100ms到2,000ms的任何地方)。 我试过了: 在的尺寸changed(...)范围内进行监听WebView(height和width属性DoubleProperty实现ObservableValue,可以监视这些东西) 🚫不可行。有时,该值似乎与绘制例程分开更改,从而导致部分内容。 盲目地告诉runLater(...)FX应用程序线程上的所有内容。 techniques许多技术都使用此方法,但是我自己的单元测试(以及其他开发人员的一些反馈)解释说,事件通常已经在正确的线程上,并且此调用是多余的。我能想到的最好的办法就是通过排队,对某些人起作用而增加了足够的延迟。 将DOM侦听器/触发器或JavaScript侦听器/触发器添加到 WebView despite SUCCEEDED尽管捕获了空白,但在调用JavaScript和DOM时似乎都正确加载了。DOM / JavaScript侦听器似乎无济于事。 使用Animation或Transition来有效地“休眠”而不会阻塞主FX线程。 This️这种方法行之有效,如果延迟足够长,则可以产生高达100%的单元测试,但是过渡时间似乎是我们猜测和设计不佳的未来时刻。对于高性能或关键任务应用程序,这迫使程序员在速度或可靠性之间进行权衡,这两者都是用户的潜在不良体验。 什么时候可以打电话WebView.snapshot(...)? 用法: SnapshotRaceCondition.initialize(); BufferedImage bufferedImage = SnapshotRaceCondition.capture("<html style='background-color: red;'><h1>TEST</h1></html>"); /** * Notes: * - The color is to observe the otherwise non-obvious cropping that occurs * with some techniques, such as `setPrefWidth`, `autosize`, etc. …

1
不能在Docker上运行JavaFX应用超过几分钟
我开发了一个用作单独Web应用程序的通信服务的应用程序。我有0个问题“正在使Web应用程序码头化”,但事实证明该服务是一场噩梦。它基于JavaFX,并且可以由用户在配置文件中设置一个属性,该属性使该属性不会使应用程序初始化任何窗口,菜单,容器等。这种“无头”模式(不确定是否真正无头...)有效地将服务应用程序变为后台服务。让我也以此开头作为开头,说该应用程序在Windows 10机器上运行时绝对可以完美运行,并且我已经将其部署在其他几台机器(所有未经过dockerized)上,没有任何问题。 这是我想出的dockerfile: FROM openjdk:13.0.1-slim RUN apt-get update && apt-get install libgtk-3-0 libglu1-mesa -y && apt-get update VOLUME /tmp ADD Some_Service-0.0.1-SNAPSHOT.jar Some_Service-0.0.1-SNAPSHOT.jar ADD lib lib ADD config.properties config.properties ENTRYPOINT ["java", "--module-path", "lib/javafx-sdk-13", "-jar", "Some_Service-0.0.1-SNAPSHOT.jar"] 然后,我使用此命令来构建容器: docker run -t --name Some_Service -e DISPLAY=192.168.1.71:0.0 -e SERVICE_HOME= --link mySQLMD:mysql some_service 假设VcXsrv在我的PC上运行,则该应用程序可以正确启动,尽管在首次启动时确实会给出以下警告: libGL error: …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.