草庐IT

java - 如何在一定时间后关闭阶段 JavaFX

我目前正在使用两个Controller类。在Controller1中,它创建了一个在主阶段之上打开的新阶段。Stagestage=newStage();Parentroot=FXMLLoader.load(getClass().getResource("Controller2.fxml"));Scenescene=newScene(root);stage.setScene(scene);stage.show();现在,一旦舞台打开,我希望它在关闭前保持打开状态约5秒。在Controller2中,我尝试实现类似的东西longmTime=System.currentTimeMillis()

java - 在 JavaFX 中在舞台上设置图标

我想知道如何在javaFX舞台上设置图标。我找到了这个方法,但它没有正常工作。stage.getIcons().add(newImage(iconImagePath));stage是javafx.stage.Stage的实例,我导入了javafx.scene.image.Image。这是我们收到的异常:无效网址:无效网址或未找到资源另外,iconImagePath也没有问题,它的值是“G:/test.jpg”并且在G盘中有一个名为test.jpg的文件。此外,当我们使用ImageIO读取相同的URL时,我们可以轻松完成。 最佳答案

java - JavaFX Platform.runLater 的使用和从不同线程访问 UI

我有几个关于Platform.runLater的问题.我有一个JavaFX应用程序类。在这个类中,我运行一个线程(该线程从网络套接字读取数据)。现在当我创建一个新的Stage在线程内,系统抛出一个execption(JavaFX事件调度线程和我的网络读取线程不一样)——我理解这种行为。但另一方面,我将网络阅读器中的文本附加到现有的TextArea或在ListView中添加/删除一些项目-这不会引发异常-为什么?我认为JavaFX是单线程的(ui库部分)。这与Swing中的一样吗:有时它可以工作,有时却只有垃圾(因为EDT)?我的问题:JavaFX事件调度程序线程何时抛出异常,何时不抛出

JavaFx 事件参数类型不匹配

我是第一次使用JavaFx,遇到了事件问题。我使用SceneBuilder构建了一个表单,并在.fxml和Controller上添加了一个事件,但它总是返回:Exceptioninthread"JavaFXApplicationThread"java.lang.IllegalArgumentException:argumenttypemismatchFirstScene.fxml:FirstSceneController.java:publicclassFirstSceneControllerimplementsInitializable{@FXMLprivateButtonfirst

Javafx Platform.runLater 从不运行

我基本上希望能够在我的LWJGL/GLFW线程启动后(和内部)启动一个新的Javafx窗口(阶段)。我基本上是这样做的:Threadthread=newThread(()->Platform.runLater(()->{Stagestage=newStage();//Stagesetupstage.show();}));thread.start();线程是我的游戏线程。但它从未运行过,我在Platform.runLater()中尝试了System.out.println()只是为了检查它是否从未运行过。为什么它永远不会运行,我该怎么做才能修复它?谢谢。编辑:只是为了澄清线程肯定已经开始

使用 Java 9 和 Intellij Idea 不存在 JavaFX

我正在使用IntellijIdea编译一个使用Maven依赖项的项目,Intellij一直告诉我我的项目有50多条错误,因为JavaFX不存在。Intellij没有将我代码中的所有javafx依赖项突出显示为错误,只是一旦我按下运行并编译程序,它就会说JavaFX中的所有内容都不存在。我尝试重新下载最新的JDK(Java9.0.1),但没有解决问题。我进入了默认项目结构和项目结构以确保它使用了正确的jdk并且没有解决问题。我使用的所有jdk似乎都列出了项目中包含的javafx包。这也只是我与friend合作的特定项目的一个问题。我们可能不得不将所有代码转移到一个新项目中,但我不确定这是

JavaFX - 使 ScrollPane 自动滚动

我在ScrollPane中有一个标签。我正在循环更新标签(在另一个线程中)。如果用户没有将它保持在某个位置,我如何更新ScrollPane使其向下滚动(不是侧向滚动,这将手动完成)?有setter吗? 最佳答案 要将ScrollPane设置到底部,自动设置JScrollPane元素的value,如下所示:@FXMLprivateScrollPanescroll;//thismustmatchthefx:idoftheScrollPaneelementscroll.setVvalue(1.0);//1.0means100%attheb

java - 从日期选择器中获取值

我想从JavaFX日期选择器中获取值并将该值存储为日期对象:finalDatePickerdatePicker=newDatePicker(LocalDate.now());Datedate=datePicker.getValue();grid.add(datePicker,1,9);你能告诉我如何将LocalDate转换为Date吗? 最佳答案 顾名思义,LocalDate不存储时区或一天中的时间。因此,要转换为绝对时间,您必须指定时区和时间。有一个简单的方法可以同时执行这两项操作,即atStartOfDay(ZoneId)。这里

java - 如何在 JavaFX 中以编程方式切换选项卡

一次只能看到一个选项卡。用户使用鼠标/键盘选择一个。假设,TabPane上有三个选项卡,第一个有一个按钮。当用户按下按钮时,我希望打开第二个选项卡。然后必须有一些代码来切换到绑定(bind)到按钮的第二个选项卡。是否可以通过编程方式实现?如果是,怎么办? 最佳答案 尝试tabPane.getSelectionModel().select(index);或tabPane.getSelectionModel().select(someTab);或tabPane.getSelectionModel().selectNext();Or...

JavaFX 2.2 : How to force a redraw/update of a ListView

我在JavaFX2模式对话框窗口中有一个ListView控件。此ListView显示DXAlias实例,其ListCells由电池工厂制造。工厂对象所做的主要事情是检查ListView的UserData属性数据并将其与对应于ListCell的项进行比较。如果它们相同,则ListCell的内容呈现为红色,否则为黑色。我这样做是为了指示ListView中的哪些项目当前被选为“默认”。这是我的ListCell工厂类,因此您可以明白我的意思:privateclassAliasListCellFactoryimplementsCallback,ListCell>{@OverridepublicL