Tag: javafx 8

Java FX 8,设置文本字段的值时出错

我正在尝试填充Java FX中文本字段的值。 我有主类,控制器和fxml.I已将fxml文件与控制器及其中的相应字段绑定。 当我尝试设置其值时,它会失败。 Main.java import javafx.application.Application; import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.layout.FlowPane; import javafx.stage.Stage; public class Main extends Application { private Stage primaryStage; private FlowPane rootLayout; @Override public void start(Stage primaryStage) { try { FXMLLoader loader = new FXMLLoader(); loader.setLocation(Main.class.getResource(“test.fxml”)); rootLayout = (FlowPane) loader.load(); Scene scene = new Scene(rootLayout); primaryStage.setScene(scene); primaryStage.show(); } catch(Exception e) […]

Java FX从不同场景改变Label的值

我有两个场景。 第一个场景使用以下代码调用第二个场景。 @FXML private void confirmation(ActionEvent event) throws IOException{ Stage confirmation_stage; Parent confirmation; confirmation_stage=new Stage(); confirmation=FXMLLoader.load(getClass().getResource(“Confirmation.fxml”)); confirmation_stage.setScene(new Scene(confirmation)); confirmation_stage.initOwner(generate_button.getScene().getWindow()); confirmation_stage.show(); } “Confirmation.fxml”中有一个名为“Proceed”的标签。 我需要在此函数中更改该标签的内容并返回结果(true / false)。 帮帮我?

使用键盘为TreeCell显示上下文菜单

我已经尝试了一切。 我认为他们犯了一个大错误,没有在任何事情中提供索引单元格的任何参考。 我可以拿到我的菜单,但不是在正确的地方。 右键单击很好。 在我的TreeView中,我可以使用get KeyReleased,但我不知道在哪里放菜单。 setOnKeyReleased((KeyEvent t) -> { switch (t.getCode()) { case CONTEXT_MENU: getSelectionModel().getSelectedItem().setGraphic(new Label(“hi”)); //showMenu just calls show on my ContextMenu of my subclass TreeNode ((TreeNode)getSelectionModel().getSelectedItem()).showMenu( getSelectionModel().getSelectedItem().getGraphic().getLocalToSceneTransform()); break; } }); 没有任何布局方法会给我TreeCell的坐标

TableView 不显示ObservableList 对象的内容

我有两个几乎相似的自定义类用于存储简单的字符串数据 – 它们被称为“患者”和“跟踪”。它们彼此之间的区别仅在于已定义字段的数量。 两者的构造函数如下所示(使用getVariablesNames()静态方法): public class Patient { String patientID; String firstName; String lastName; String gender; String dateOfBirth; String age; String email; String phoneNumber; String city; public Patient(String patientID, String firstName, String lastName, String gender, String dateOfBirth, String age, String email, String phoneNumber, String city) { this.patientID = patientID; this.firstName = firstName; this.lastName = lastName; […]

尽管安装了JavaFX PieChart Tooltip但仍未显示

我尝试在图表中为PieChart的每个“切片”显示一个工具提示,类似于chart.js: 我发现这个答案基本上试图在同一个框架中实现相同的目标。 它有两个upvotes,同样似乎在其他(接受的)答案判断其他图表类型。 但是,在没有工具提示出现的意义上,代码对我来说并不适用。 显示问题的示例代码: import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.chart.PieChart; import javafx.scene.control.Button; import javafx.scene.control.Tooltip; import javafx.scene.layout.BorderPane; import javafx.stage.Stage; import java.util.List; import java.util.Random; import java.util.stream.Collectors; public class Main extends Application { @Override public void start(Stage primaryStage) { BorderPane pane = new BorderPane(); PieChart chart = new PieChart(); Button randomValues = new Button(); randomValues.setOnAction(ae -> { […]

带有多个文本行的JavaFX Button

我需要在屏幕上创建一个工具栏,它有多个按钮,每个按钮必须有多行文本。 例如: 我查看了互联网和StackOverflow,但我找不到任何显示如何在JavaFX中执行此操作的内容。 我正在使用JavaFX 8。 有人可以帮帮我吗? TKS

检测WebView中的超链接hover并打印链接

我想从WebView添加hover的超链接并将其显示在角落中。 我怎样才能实现? 它应该像Chromesfunction: 实施例 – 铬 – 截图 带有许多链接的示例WebView代码: import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.control.ScrollPane; import javafx.scene.web.WebEngine; import javafx.scene.web.WebView; import javafx.stage.Stage; public class core extends Application { @Override public void start(final Stage stage) { Scene scene = new Scene(new Group()); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane […]

JavaFX ComboBox项目上的文本颜色仅在首次选择后更改

我正在使用Windows 7中的SceneBuilder 2.0在e(fx)clipse中从Java 8.0构建JavaFx中的输入表单。 我有一个简单的String ComboBox,并希望更改列表和所选字符串中字体的颜色和大小。 我使用的CSS代码更改了所选项目上的文本。 但是,第一次删除列表时,它是黑色默认字体。 第二次,所有项目的字体颜色和大小已更改为正确的值。 如何使字体列表以正确的颜色和大小启动? 这是我的Controller类中的initialize方法的简化代码: ObservableList types = FXCollections.observableArrayList ( “large”, “medium”, “small” ); comboBox.setItems( types ); 和当前的css: #comboBox .list-cell { -fx-font-family: arial; -fx-font-size: 16px; -fx-text-fill: #a0522d; }

如何为我的代码启动一个线程,为JavaFX应用程序启动一个线程?

我正在尝试使用JavaFX运行程序。 如果我使用Swing,我将使用main方法启动一个类,并让它构建GUI类。 这将给我2个线程,一个应用程序的正常线程和EventQueue。 这样可以防止阻止UI工作。 所以,我试着让在main main方法中创建的类构造Application类,然后启动它。 我得到了一个RuntimeException,因为调用launch方法的程序不是Application的子类。 有没有办法分离线程,或者一切都必须在给予Application类的线程内工作?

ComboBox SAME项目选定的动作侦听器

如果选择了DIFFERENT值,combobox将触发事件。 我希望能够收听正在选择的SAME项目(也就是说,valueProperty没有变化)。 似乎没有办法做到这一点。 我尝试扩展ComboBox并找到一种方法来监听关闭的小弹出菜单,但我甚至无法访问它! 我能做什么? 这是我在尝试的: class ResponsiveComboBox extends ComboBox { public ResponsiveComboBox() { super(); assert getContextMenu() != null; //Asssertion failed! this.getContextMenu().setOnHiding((WindowEvent event) -> { fireEvent(new ActionEvent()); }); } }