Tag: javafx

JavaFX控制器类无法正常工作

我真的很难理解JavaFX控制器,我的目标是写一个TextArea来充当日志。 我的代码如下,但我希望能够在需要时从另一个类中更改值ETC。 我试图创建一个扩展Initializable的控制器类,但我不能让它工作。 有人可以引导我朝着正确的方向前进吗? 我想将底部的@FXML代码移动到另一个类并更新Scene。 package application; import javafx.event.ActionEvent; import javafx.scene.control.Label; import javafx.scene.control.TextArea; import java.io.IOException; import javafx.application.Application; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.stage.Stage; import javafx.scene.Parent; import javafx.scene.Scene; public class Main extends Application { @Override public void start(Stage primaryStage) { try { Parent root = FXMLLoader.load(getClass().getResource(“Root.fxml”)); Scene scene = new Scene(root,504,325); scene.getStylesheets().add(getClass().getResource(“application.css”).toExternalForm()); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception […]

如何在JavaFX 2.2中绘制清晰,不透明的细线?

在JavaFX 2.2中绘制清晰,不透明的细线的最佳方法是什么? 文档说,如果strokeWidth为0.0d它将是一条发际线,但它根本不可见。 值> 0.0d and <1.0d显示非常精细的行,但也不显示不透明的行为。 当一条线切割另一条线时,相交点比线的其余部分更亮(我希望这种行为来自具有一定透明度的线)。 最后, 1.0d绘制一条具有几个像素宽度的白线。 那是我的测试代码: LineBuilder.create().startX(i*gridSize).startY(0).endX(i*gridSize).endY(height).smooth(false).stroke(Color.WHITE).strokeWidth(0.5d).fill(Color.WHITE).build();

如何在JavaFX中创建具有透明背景的Splash屏幕

我正在尝试创建一个类似于我提供的示例的启动画面。 似乎AnchorPane不允许透明背景,我尝试将AnchorPane的CSS设置为-fx-background-color: rgba(255,0,255,0.1) ; 但白色背景仍然显示出来。 我在fxml文件中的所有内容都是带有ImageView的AnchorPane,其中包含png图像 我到处寻找,但找不到任何解决方案,任何帮助将不胜感激。 谢谢

如何发出和处理自定义事件?

javafx中有几个预定义的事件类。 Event.ANY,KeyEvent.KEY_TYPED,MouseEvent.ANY等。 还有用于事件的高级过滤和处理系统。 我想重复使用它来发送一些自定义信号。 如何创建自定义事件类型CustomEvent.Any,以编程方式发出此事件并在节点中处理它?

如何在JavaFX LineChart上添加形状

我将在LineChart上添加一些形状。 我将LineChart和AnchorPane放入StackPane 。 我通过从图表系列中获取x和y坐标将形状添加到AnchorPane 。 这是一个例子。 LineChartApp.java package shapes; import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.Stage; public class LineChartApp extends Application { @Override public void start(Stage primaryStage) throws Exception { primaryStage.setScene(new Scene(new ChartContent())); primaryStage.setMaximized(true); primaryStage.show(); } public static void main(String[] args) { launch(args); } } ChartContent.java package shapes; import java.util.ArrayList; import java.util.List; import javafx.animation.KeyFrame; import javafx.animation.Timeline; […]

部署JavaFX应用程序,创建JAR以及自包含应用程序和本机安装程序的最佳方法是什么

我正在使用IntelliJ IDEA,我已准备好部署JavaFX应用程序。 问题是,当我生成JAR文件时,它不会运行,当我在命令行中运行它时,我得到一个Exception,FXMLLoadException,尽管该项目在我的IDE中完美运行。 Ant任务以错误结束,构建15分钟后,我真的不明白究竟是什么问题。 所以我的问题是以正确的方式部署JavaFX应用程序的正确步骤是什么,欢迎使用任何教程或指南。

自动调整Canvas大小以填充封闭的Parent

我最近想在JavaFX中创建一个动画背景,类似于这里看到的Swing示例。 我使用Canvas绘制,如使用Canvas API ,以及绘图循环的AnimationTimer ,如动画基础所示。 不幸的是,我不确定如何在调整封闭Stage大小时自动调整Canvas大小。 什么是好方法?

加载FXML文件时“需要位置”exception

我正在尝试加载FXML文件并将其显示为应用程序窗口,但我得到一个例外。 FXML文件由FXML场景生成器创建。 以下是该课程的代码 public class Main extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage primaryStage) throws Exception { primaryStage.setScene(FXMLLoader.load(getClass().getResource(“sample.fxml”))); primaryStage.show(); } } 和FXML文件 这是我得到的例外 Exception in Application start method Exception in thread “main” java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:875) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$147(LauncherImpl.java:157) at com.sun.javafx.application.LauncherImpl$$Lambda$1/2074407503.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) […]

JavaBean包装与JavaFX属性

我想使用JavaFX属性进行UI绑定,但我不希望它们出现在我的模型类中(请参阅在模型类中使用javafx.beans属性 )。 我的模型类有getter和setter,我想根据这些创建属性。 例如,假设一个实例bean的方法是String getName()和setName(String name) ,我会写 SimpleStringProperty property = new SimpleStringProperty(bean, “name”) 期望property.set(“Foobar”)将触发对bean.setName的调用。 但这似乎不起作用。 我错过了什么?