草庐IT

rx-javafx

全部标签

JavaFX - getScene() 返回 null

我刚开始使用JavaFXSceneBuilder构建一个小型应用程序。它由属于“login.fxml”的Controller类“Login.java”组成,其中FXML文件“registrierung.fxml”通过名为“registrationClicked(ActionEventevent)”的方法加载:publicclassLogin{@FXMLprivatevoidregistrationClicked(ActionEventevent){try{((Node)(event.getSource())).getScene().getWindow().hide();FXMLLoad

java - 带有 Scene Builder 的 JavaFX 中的 MVC 模式

我是JavaFX的新手,正在努力根据我当前的设置创建合适的MVC架构。我使用SceneBuilder单击了一个UI并指定了一个Controller类。启动:publicclassPortalextendsApplication{publicstaticvoidmain(String[]args){launch(args);}@Overridepublicvoidstart(Stagestage)throwsException{Parentroot=FXMLLoader.load(getClass().getResource("PortalUI.fxml"));stage.setTitl

java - JavaFX 8 中文本区域的透明背景

因为我使用的是JavaFX8,所以我所有的textarea都不应用相应css中定义的transparency。它在Java7中运行良好,但对于JavaFX8的候选发布版本,我无法让它像以前一样运行。编辑:这个问题是关于JavaFXTextArea,而不是JTextArea。-fx-background-color:rgba(53,89,119,0.2);不再对文本区域产生任何影响,虽然它的alpha值应该为0.2,但它是不透明的...这是一个已知问题吗? 最佳答案 TextArea由几个节点组成。要使背景透明,还需要更改子Pane的

JavaFX 绑定(bind)到多个属性

我有一个带有文本字段和按钮的简单fx​​ml。如果文本字段为空,我想禁用按钮。所以我在我的Controller中插入如下内容:@Overridepublicvoidinitialize(URLurl,ResourceBundlebundle){button.disableProperty().bind(textField.textProperty().isEqualTo(""));}..效果很好。问题是当我添加第二个文本字段并希望在任一文本字段为空时禁用我的按钮。那怎么办?我尝试了以下方法,但这不起作用:@Overridepublicvoidinitialize(URLurl,Reso

java - 如何在 JavaFX 中监听 Stage 的 resize 事件?

我想对表单(或Scene或Stage无论是什么)的调整大小事件执行一些功能。但是我如何检测JavaFX中表单的调整大小事件? 最佳答案 可以收听widthProperty的变化和heightProperty阶段:stage.widthProperty().addListener((obs,oldVal,newVal)->{//Dowhateveryouwant});stage.heightProperty().addListener((obs,oldVal,newVal)->{//Dowhateveryouwant});注意:要监听

JavaFX 在 ListView 中选择项目

您好,我正在尝试将焦点设置在ListView中的项目上。用户打开文件后,该项目将添加到ListView中,但我遇到的问题是ListView未将焦点设置在添加的新项目上。我必须单击ListView中的项目才能将焦点设置到它。有没有办法让ListView在JavaFX2.1中立即突出显示新添加的项目。 最佳答案 假设新添加的项目的索引为N,选择它:listView.getSelectionModel().select(N);专注于它:listView.getFocusModel().focus(N);滚动到它:listView.scro

java - 节流 javafx gui 更新

我在随机时间以高频率接收数据对象,并且需要使用这些更新JavaFXGUI。但是,我不想用大量的可运行对象填充javafx事件队列(我使用Platform.RunLater)。我一直在思考如何最好地实现节流算法。是否最好有一个单独的GUIUpdater线程来检查新对象的阻塞队列,然后hibernate30毫秒,然后再次检查,无限循环?在那种情况下,阻塞队列会是最佳数据结构吗?请注意,我只需要最新的数据对象,而blockingQueue是一个FIFO队列,我似乎无法只选择最新的条目。或者-如果nanoTime-startTime>30毫秒,仅使用Platform.RunLater更新GUI

java - 从枚举中填充 JavaFX ComboBox 或 ChoiceBox

有没有办法填充JavaFXComboBox或ChoiceBox枚举的所有枚举?这是我尝试过的:publicclassTest{publicenumStatus{ENABLED("enabled"),DISABLED("disabled"),UNDEFINED("undefined");privateStringlabel;Status(Stringlabel){this.label=label;}publicStringtoString(){returnlabel;}}}在另一个类中,我试图填充ComboBox:ComboBoxcbxStatus=newComboBox();cbxSt

java - 如何通过单击按钮关闭 Java 窗口 - JavaFX 项目

我制作了一个JavaFX项目,并在javaSceneBuilder中为首次登录框架创建了GUI。登录成功后,登录框必须关闭,下一框可见(主程序框)。我可以让新框架出现,但我不能让登录框架关闭。我试过dispose()之类的东西,但没有任何效果。下面是主类的代码:publicclassKuberCommextendsApplication{@Overridepublicvoidstart(Stagestage)throwsException{Parentroot=FXMLLoader.load(getClass().getResource("FXMLDocument.fxml"));Sc

JavaFX TabPane : How to listen to selection changes

我想在用户从一个选项卡转到另一个选项卡时执行一些操作,因为我使用SceneBuilder设计了表单,所以我不能使用提到的代码here(他使用了TabPaneBuilder类)我猜这段代码会起作用,但它不会对选项卡选择更改使用react。@FXMLprotectedTabPanechatTabs;...chatTabs.selectionModelProperty().addListener(newChangeListener>{@Overridepublicvoidchanged(ObservableValue>ov,SingleSelectionModelt,SingleSelect