Tag: javafx

创建可观察列表/集合

我正在尝试在JavaFX 8中创建一个ChoiceBox ,它需要一个Collection 。 我不知道如何创建一个Collection虽然…如果我尝试: ObservableList list = new ObservableList(); 我收到一个错误,说我无法实例化ObservableList因为它是抽象的。 可以理解的。 如果我查看ObservableList的doc,我可以看到SortedList implements ObservableList ,但是我不能这样做: ObservableList list = new SortedList(); 因为没有适用的构造函数。 显然我需要将一个ObservableList传递给SortedList ,这很奇怪,因为我无法创建一个ObservableList 。 constructor SortedList.SortedList(ObservableList,Comparator) is not applicable (actual and formal argument lists differ in length) constructor SortedList.SortedList(ObservableList) is not applicable (actual and formal argument lists differ in length) 我不知道如何解读。 如果我试试 ObservableList list […]

Java NoSuchMethodException – 类中确实存在方法

我正在构建一个JavaFx应用程序,我想创建一个接收GridPane和Node []的方法,其中包含添加到窗格的项目数量。 但是,当我调用该方法时,我得到一个NoSuchMethodException。 作为测试,我试图创建一个简单的方法private String helloWorld() ,它将return “Hello World”; 。 这个方法确实有效,但是当我尝试运行gridLogin = buildForm(gridLogin, items); ,我Exception in thread “main” java.lang.NoSuchMethodException错误中得到Exception in thread “main” java.lang.NoSuchMethodException 。 Application.java public class DesktopApplication extends Application { @Override public void start(Stage primaryStage) { BuildGraphicalUserInterface ui = new BuildGraphicalUserInterface(); ui.initStage(primaryStage); } } BuildGraphicalUserInterface.java package com.fenrir.desktop.UserInterface; import …; public class BuildGraphicalUserInterface { private […]

如何按需加载javafx.scene.image.Image?

是否可以丢弃已加载的Image内容,然后再将其加载? 是否可以按需加载? 我可以让ImageView仅在节目中加载它的图像吗?

JavaFX Scene Builder缺少大多数选项

我通过IntellijIDEA使用Scene Builder 。 突然间,右侧边栏的大多数选项都消失了 。 在所有标签中! 将项目拉到另一台机器时出现问题。 在之前的笔记本上,我曾经使用过Gluon Scene Builder ,这里安装了最后一个Oracle’s Scene Builder 。 我把它改成了Gluon的版本,但它没有解决问题。 这是一个bug还是我做错了什么?

为什么我的JavaFX TableView为空?

我想填充一个TableView ,我不知道为什么它是空的。 我有以下代码: public class StudentTeacherManagementController { private Client client = ClientBuilder.newClient(); private Gson g = new Gson(); private ArrayList schueler = new ArrayList(); private ArrayList lehrer = new ArrayList(); private final String REST_SERVICE_URL = “http://localhost:8080/A07_Webservice/rest/ManagementService”; @FXML private TableView tblSchueler; @FXML private TableColumn lastnameCol; @FXML private TableColumn idCol; @FXML private TableColumn firstnameCol; @FXML private TableColumn […]

如果按下按钮,如何在一定时间内显示图像

所以,我正在制作一个跳跃动画并且它工作正常,但我正试图得到它所以如果按下一个按钮但是返回一段时间(时间=在空中花费的时间)的图像将被显示一旦精灵到达地面,就到原始图像。 我已经研究了很多,但我还没找到合适的答案。 但是,如果按下某个按钮,我正在考虑更改imageview,但我不确定这是否有效。 我的代码 public void start(Stage primaryStage) throws Exception { final Group root = new Group(); Scene scene = new Scene(root, 640, 480, Color.ALICEBLUE); Image imgninja = new Image(getClass().getResourceAsStream(“ninja_sprite.png”)); Image tempground = new Image(getClass().getResourceAsStream(“ground.png”)); Image tempground2 = new Image(getClass().getResourceAsStream(“ground.png”)); final Image test = new Image(getClass().getResourceAsStream(“myninja_1.png”)); final Rectangle r = new Rectangle(); r.setX(rectx); r.setY(recty); r.setWidth(50); […]

如何在JavaFX中动态更改列表视图中项目的背景

我正在编写一个程序,它将一组项放在listview中。 然后它检查它是否在数据库中找到了项目。 如果在数据库中找不到该项,我想在listview中更改该项的背景。 我正在使用JavaFX来完成这个程序。 我该怎么做呢?

在gui线程中触发异步事件

TL; DR我正在寻找让一个线程在另一个线程中引发事件的方法 编辑:我说“立即”这个词,正如一些评论者指出的那样,是不可能的。 我的意思是它应该合理地快速发生,如果gui线程处于空闲状态(如果我的工作正确,应该是),在毫秒到纳秒的范围内。 案例:我有一个有Parent类的项目。 该Parent类创建一个子线程’Gui’,它包含一个javafx应用程序并实现Runnable。 Parent和Gui都引用了相同的BlockingQueue。 我想要发生的事情:我希望能够将对象从父类发送到Gui线程,并让Gui接收某种事件,立即调用某种处理函数,所以我知道得到一个或者队列中的更多对象并将它们添加到gui中。 用于“观察者模式”的其他解决方案通常涉及位于while循环中的观察者,检查一些同步队列以寻找新数据。 这对我的应用程序不起作用,因为Javafx要求只能从gui线程修改gui元素,并且gui线程必须在很大程度上保持空闲状态,以便它有时间重绘事物并响应用户事件。 循环会导致应用程序挂起。 我发现似乎有潜力的一个想法是从父线程中断Gui线程,并触发某种事件,但我找不到任何方法来实现这一点。 有任何想法吗? 针对这种情况的最佳做法是什么?

将数据传递给控制器​​JAVAFX

我的图像我正在尝试将数据(变量)从一个阶段传递到另一个阶段,但是当我尝试在第二阶段访问它们时,它们是空的。 主窗口的代码。 转到window1 public class PrincipalController { private Stage primaryStage; public void initStage( Stage stage){ primaryStage = stage;} @FXML private void goWindow1(ActionEvent event) { try { FXMLLoader miCargador = new FXMLLoader(getClass().getResource(“/vista/Window1.fxml”)); Parent root = (Parent) miCargador.load(); // Access to window driver 1 Window1Controller window1 = miCargador. getController(); windnow1.initStage(primaryStage); Scene scene = new Scene(root); primaryStage.setScene(scene); primaryStage.show(); […]

JavaFX制作相同动画的副本

我试图扩展以前的任务。 它是绘制一个风扇并有一个滑块来控制播放速度,同时还有按钮来播放,暂停和反转风扇。 这是我的代码: public class FanWithControls extends Application { @Override // Override the start method in the Application class public void start(Stage primaryStage) { FanPane fan = new FanPane(); StackPane spane = new StackPane(); spane.getChildren().addAll(fan); HBox hBox = new HBox(5); Button btPause = new Button(“Pause”); Button btResume = new Button(“Resume”); Button btReverse = new Button(“Reverse”); […]